def postFiles(): meta = dict() meta.setdefault('hash', '') if os.path.isfile(request.form['filename']): meta = filemeta.filemeta(request.form['filename']) # the new file appeared if (request.form['modification'] == 'new'): try: print("receiving content of ", request.form['filename']) print(request.files) file = request.files['file'] file.save(request.form['filename']) except: print('There was an error with file' + request.form['filename']) print("after try-except") # update is up to files if (request.form['modification'] == 'upd'): try: print("receiving content of ", request.form['filename']) print(request.files) file = request.files['file'] file.save(request.form['filename']) except: print('There was an error with modifying file' + request.form['filename']) print("before ending") print(meta['hash']) print(filemeta.filemeta(request.form['filename'])) if meta['hash'] != filemeta.filemeta(request.form['filename'])['hash']: print(record_history(client=request.remote_addr, operation=request.form['modification'] + 'files', filename=request.form['filename'], other=None)) return '', 200
def get_index(directory=defaultpath): meta_data_dict = dict() list_files = [] list_folders = [] walk_files(list_files, list_folders, directory) for filename in list_files: meta_data_dict.setdefault(filename, filemeta.filemeta(filename)) return meta_data_dict, list_folders
def on_modified(self, event): if observer_pause: pass path = event.src_path.replace('\\', '/') if os.path.isfile(path): meta = filemeta(path) f = open('.index', 'r') servermeta = f.readline() servermeta = eval(servermeta) if path in servermeta and meta['hash'] == servermeta[path]['hash']: # print('no change for file '+str(meta)) pass else: # print('it still changes') file = open(path, 'rb') data = file.read() file.close() if DEBUG: print(currentpathfiles, 'filename', path, 'modification', 'upd') r = requests.post(currentpathfiles, data={'filename': path, 'modification': 'upd'}, files={'file': open(path, 'rb')}) if DEBUG: print(r.text)