'Loads recursively all files within the given folder and its
subfolders and returns a flat list.'

def __load_all_filenames(self, directory):

    response = []
    if os.path.exists(directory):
        for (dirpath, dirnames, filenames) in os.walk(directory):
            for filename in filenames:
                path = os.path.relpath(os.path.join(dirpath, filename), directory)
                statinfo = os.lstat(os.path.join(dirpath, filename))
                response.append(dict(path=path, size=statinfo.st_size, ctime=time.strftime('%m/%d/%Y    %I:%M:%S    %p', time.localtime(statinfo.st_ctime))))
    else:
        log.warning(('The    directory    "%s"    does    not    exist.' % directory))
        return response
    response = sorted(response, key=itemgetter('path'))
    return response
