Example #1
0
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)
Example #2
0
    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
Example #3
0
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)
Example #4
0
    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
Example #5
0
 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
Example #6
0
 def __init__(self, *args, **kwargs):
     FSBackend.__init__(self, *args, **kwargs)
     self._bucket = None
Example #7
0
 def basename(self, key_name):
     return FSBackend.basename(self, key_name.rstrip(DELIMITER))
Example #8
0
 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
Example #9
0
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)
Example #10
0
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)
Example #11
0
def get_zipped_dir(yabiusername, uri):
    from yabi.backend.fsbackend import FSBackend
    return FSBackend.remote_file_download(yabiusername, uri, is_dir=True)
Example #12
0
def get_file(yabiusername, uri):
    """Get a file from a backend"""
    from yabi.backend.fsbackend import FSBackend
    return FSBackend.remote_file_download(yabiusername, uri)
Example #13
0
def clean_up_task(task):
    """Clean up after a task"""
    from yabi.backend.fsbackend import FSBackend
    backend = FSBackend.factory(task)
    backend.clean_up_task()
Example #14
0
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()
Example #15
0
 def basename(self, key_name):
     return FSBackend.basename(self, key_name.rstrip(DELIMITER))
Example #16
0
 def __init__(self, *args, **kwargs):
     FSBackend.__init__(self, *args, **kwargs)
     self._bucket = None
Example #17
0
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)