def process_changes_in_remote(self, changes): """ This method is used to changes changes in Mega (synchronize). """ log.debug("Processing changes in remote") remove_files = changes['removed_files'] for file in remove_files: log.debug("Removing file %s" % file) status = self.uploader.remove( path='%s/%s' % (settings.get_config('remote', 'folder'), file.relative_path), filename=file.name) if not status: log.error("ERROR DELETING REMOTE FILE %s" % file) remove_folders = changes['removed_folders'] for folder in remove_folders: log.debug("Removing folder %s" % folder) status = self.uploader.remove(path='%s/%s' % (settings.get_config( 'remote', 'folder'), folder.relative_path), filename=folder.name) if not status: log.error("Folder not deleted correctly in remote %s" % folder) new_folders = changes['new_folders'] for folder in new_folders: log.debug("Creating remote folder %s" % folder) remote_folder = '%s/%s/%s' % (settings.get_config( 'remote', 'folder'), folder.relative_path, folder.name) rem_desc = self.uploader.mkdir(remote_folder) new_files = changes['new_files'] for file in new_files: log.debug("New file %s" % file) remote_folder = '%s/%s' % (settings.get_config( 'remote', 'folder'), file.relative_path) rem_desc = self.uploader.upload(remote_folder, file.path) to_download = changes['to_download'] for file in to_download: log.debug("Download modified %s" % file) path = '%s/%s' % (settings.get_config( 'remote', 'folder'), file.relative_path) content = self.uploader.get_content_by_path(path=path, filename=file.name) filesystem.create_file(path=os.path.join(self.backup_path, file.relative_path), name=file.name, content=content) new_files = changes['to_upload'] for file in new_files: log.debug("Uploading file %s" % file) remote_folder = '%s/%s' % (settings.get_config( 'remote', 'folder'), file.relative_path) rem_desc = self.uploader.upload(remote_folder, file.path)
def sync_remote_home(self): #We have remote FS, then... for file in self.remote_filesystem.files: if file.relative_path == '/': file.relative_path = '' if file.type == filesystem.FILE: #Else, folder path = '%s/%s' % (settings.get_config( 'remote', 'folder'), file.relative_path) content = self.uploader.get_content_by_path(path=path, filename=file.name) filesystem.create_file(path=os.path.join( self.backup_path, file.relative_path), name=file.name, content=content) elif file.type == filesystem.FOLDER: path = os.path.join(self.backup_path, file.relative_path, file.name) filesystem.os_mkdir(path)
def sync_remote_home(self): #We have remote FS, then... for file in self.remote_filesystem.files: if file.relative_path == '/': file.relative_path = '' if file.type == filesystem.FILE: #Else, folder path = '%s/%s' % (settings.get_config('remote', 'folder'), file.relative_path) content = self.uploader.get_content_by_path(path=path, filename=file.name) filesystem.create_file( path=os.path.join( self.backup_path, file.relative_path), name=file.name, content=content) elif file.type == filesystem.FOLDER: path = os.path.join(self.backup_path, file.relative_path, file.name) filesystem.os_mkdir(path)
def process_changes_in_remote(self, changes): """ This method is used to changes changes in Mega (synchronize). """ log.debug("Processing changes in remote") remove_files = changes['removed_files'] for file in remove_files: log.debug("Removing file %s" % file) status = self.uploader.remove( path='%s/%s' % (settings.get_config('remote', 'folder'), file.relative_path), filename=file.name) if not status: log.error("ERROR DELETING REMOTE FILE %s" % file) remove_folders = changes['removed_folders'] for folder in remove_folders: log.debug("Removing folder %s" % folder) status = self.uploader.remove( path='%s/%s' % (settings.get_config('remote', 'folder'), folder.relative_path), filename=folder.name) if not status: log.error("Folder not deleted correctly in remote %s" % folder) new_folders = changes['new_folders'] for folder in new_folders: log.debug("Creating remote folder %s" % folder) remote_folder = '%s/%s/%s' % ( settings.get_config('remote', 'folder'), folder.relative_path, folder.name) rem_desc = self.uploader.mkdir(remote_folder) new_files = changes['new_files'] for file in new_files: log.debug("New file %s" % file) remote_folder = '%s/%s' % (settings.get_config('remote', 'folder'), file.relative_path) rem_desc = self.uploader.upload(remote_folder, file.path) to_download = changes['to_download'] for file in to_download: log.debug("Download modified %s" % file) path = '%s/%s' % (settings.get_config('remote', 'folder'), file.relative_path) content = self.uploader.get_content_by_path(path=path, filename=file.name) filesystem.create_file( path=os.path.join( self.backup_path, file.relative_path), name=file.name, content=content) new_files = changes['to_upload'] for file in new_files: log.debug("Uploading file %s" % file) remote_folder = '%s/%s' % (settings.get_config('remote', 'folder'), file.relative_path) rem_desc = self.uploader.upload(remote_folder, file.path)