import os from shutil import copyfile class LocalFileLoader: def __init__(self, prefix): self.prefix = prefix def get_file(self, filename): with open(os.path.join(self.prefix, filename), 'rb+') as f: return f.read() def get_file_list(self, path): files = [] tmp = os.path.join(self.prefix, path) for root, _, filenames in os.walk(tmp): for filename in filenames: files.append(os.path.join(root, filename)) return files def file_exists(self, path): return os.path.exists(os.path.join(self.prefix, path)) def save_file(self, filename, content): fullpath = os.path.join(self.prefix, filename) if not os.path.exists(os.path.dirname(fullpath)): os.makedirs(os.path.dirname(fullpath)) with open(fullpath, 'w') as f: f.write(content) def upload_file(self, file_name, destination_name): destination = os.path.join(self.prefix, destination_name) if not os.path.exists(os.path.dirname(destination)): os.makedirs(os.path.dirname(destination)) copyfile(file_name, destination)