def fileSync(self, data): """ Synchronization files using rsync tool """ server = [] user_db = Queries.getUser(data['user']) user_id = 'u' + str(user_db.id).rjust(14, '0') # when want to sync more than one file... for file in data['files_u']: original_name = file[0] server_name = file[1] file_hash = file[2] file_hash_new = file[3][0] file_size = file[3][1] fs = Queries.getFileServer(file_hash) if file_hash != file_hash_new and data['sync_type'] == 'WSYNC_FILE': dict_file = {"file_hash": file_hash_new, "chunk_size": file_size} Queries.updateFileRecordDataByHash(original_name, file_hash, dict_file) server.append((original_name, server_name) + (fs if fs else (None,))) data['server'] = server data['user_id'] = user_id data['cmd'] = 'CSYN' log.msg('[SYNC] SYNC data for User=%s has complete!' % (data['user'])) del data['files_u'] return data
def read_fs(self, data): """ Building serialized file list """ server = Queries.getFileServer(data['file_hash']) if server is None: msg = "ERROR: Can't read now your file: servers in offline. Try later..." data['cmd'] = 'AUTH' data['error'].append(msg) log.msg(log.msg("[READ] %s..." % msg)) else: log.msg('[READ] Getting data for User=%s' % (data['user'])) data['cmd'] = 'CREA' log.msg('[READ] Getting data for User=%s has complete!' % (data['user'])) return data
def delete_file(self, data): """ Delete file from record, and after this - from server """ server = Queries.getFileServer(data['file_hash']) if server is None: msg = "ERROR: Can't delete now your file: servers in offline. Try later..." data['cmd'] = 'AUTH' data['error'].append(msg) log.msg(log.msg("[DELT] %s..." % msg)) else: log.msg('[DELT] Delete data for User=%s' % (data['user'])) Queries.deleteFileRecordByID(data['file_path']) data['cmd'] = 'CDLT' log.msg('[DELT] Delete data for User=%s has complete!' % (data['user'])) del data['file_path'] return data