Пример #1
0
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
Пример #2
0
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
Пример #3
0
 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)