def put_file(yabiusername, filename, uri): """ Put a file to a backend by streaming through a fifo. Returns the opened fifo for the upload to write to """ from yabi.backend.fsbackend import FSBackend return FSBackend.remote_file_upload(yabiusername, filename, uri)
def time_copy_of_files(self, file_count): """Copies the passed in amount of files from localhost to localhost going through SFTP an times how long the copying takes""" a_dir = self.create_tempdir(parentdir=self.homedir) + "/" target_dir = self.create_tempdir(parentdir=self.homedir) + "/" for i in range(file_count): self.create_tempfile(parentdir=a_dir) cp_start = time.time() FSBackend.remote_copy( self.username, 'localfs://%s@localhost%s' % (self.username, a_dir), 'sftp://root@sshtest%s/' % (target_dir)) copy_duration = time.time() - cp_start return copy_duration
def get_listing(yabiusername, uri, recurse=False): """Get a file listing. Used in front end file manager.""" from yabi.backend.fsbackend import FSBackend backend = FSBackend.urifactory(yabiusername, uri) if recurse is True: return backend.ls_recursive(uri) else: return backend.ls(uri)
def time_copy_of_files(self, file_count): """Copies the passed in amount of files from localhost to localhost going through SFTP an times how long the copying takes""" a_dir = self.create_tempdir(parentdir=self.homedir) + "/" target_dir = self.create_tempdir(parentdir=self.homedir) + "/" for i in range(file_count): self.create_tempfile(parentdir=a_dir) cp_start = time.time() FSBackend.remote_copy(self.username, 'localfs://%s@localhost%s' % (self.username, a_dir), 'sftp://root@ssh%s/' % (target_dir)) copy_duration = time.time() - cp_start return copy_duration
def _create_stageout_dir(self): logger.debug( 'stage_in_files for SelectFileBackend, making stageout {0}'.format( self.task.stageout)) from yabi.backend.fsbackend import FSBackend backend = FSBackend.urifactory(self.yabiusername, self.task.stageout) backend.mkdir(self.task.stageout) return self.task.stageout
def __init__(self, *args, **kwargs): FSBackend.__init__(self, *args, **kwargs) self._bucket = None
def basename(self, key_name): return FSBackend.basename(self, key_name.rstrip(DELIMITER))
def _create_stageout_dir(self): logger.debug('stage_in_files for SelectFileBackend, making stageout {0}'.format(self.task.stageout)) from yabi.backend.fsbackend import FSBackend backend = FSBackend.urifactory(self.yabiusername, self.task.stageout) backend.mkdir(self.task.stageout) return self.task.stageout
def mkdir(yabiusername, uri): """Make a directory at the given uri""" from yabi.backend.fsbackend import FSBackend backend = FSBackend.urifactory(yabiusername, uri) return backend.mkdir(uri)
def rcopy_file(yabiusername, src_uri, dst_uri): """Remote copy between two backends""" from yabi.backend.fsbackend import FSBackend FSBackend.remote_copy(yabiusername, src_uri, dst_uri)
def get_zipped_dir(yabiusername, uri): from yabi.backend.fsbackend import FSBackend return FSBackend.remote_file_download(yabiusername, uri, is_dir=True)
def get_file(yabiusername, uri): """Get a file from a backend""" from yabi.backend.fsbackend import FSBackend return FSBackend.remote_file_download(yabiusername, uri)
def clean_up_task(task): """Clean up after a task""" from yabi.backend.fsbackend import FSBackend backend = FSBackend.factory(task) backend.clean_up_task()
def stage_out_files(task): """Stage out files for a task""" from yabi.backend.fsbackend import FSBackend backend = FSBackend.factory(task) backend.stage_out_files()
def rm_file(yabiusername, uri): """rm at the given uri""" from yabi.backend.fsbackend import FSBackend backend = FSBackend.urifactory(yabiusername, uri) return backend.rm(uri)