def stagein_file(self, f, stagein_dir): uri = 'ws/fs/put?uri=%s' % quote(stagein_dir) fname = os.path.basename(f.relpath) fname = quote(fname.encode('utf-8')) finfo = (fname, fname, f.fullpath) params = {} print(' Staging in file: %s (%s).' % ( f.relpath, human_readable_size(os.path.getsize(f.fullpath)))) resp, json_response = self.yabi.post(uri, params, files=[finfo]) assert resp.status == 200 return os.path.join(stagein_dir, fname)
def stagein_file(self, f, stagein_dir): uri = 'ws/fs/put?uri=%s' % quote(stagein_dir) fname = os.path.basename(f.relpath) fname = quote(fname.encode('utf-8')) finfo = (fname, fname, f.fullpath) params = {} print(' Staging in file: %s (%s).' % (f.relpath, human_readable_size(os.path.getsize(f.fullpath)))) resp, json_response = self.yabi.post(uri, params, files=[finfo]) assert resp.status == 200 return os.path.join(stagein_dir, fname)
def do(self): if not self.args.local_files: return self.files = self.files_to_stagein() if not self.files: return files_to_uris = {} alldirs, allfiles, total_size = self.collect_files() stagein_dir, dir_uris = self.create_stagein_dir(alldirs) print("Staging in %s in %i directories and %i files." % ( human_readable_size(total_size), len(alldirs), len(allfiles))) files_to_uris.update(dir_uris) for f in allfiles: rel_path, fname = os.path.split(f.relpath) file_uri = self.stagein_file(f, stagein_dir + rel_path) files_to_uris[f.relpath.encode("utf-8")] = file_uri print("Staging in finished.") return files_to_uris
def do(self): if not self.args.local_files: return self.files = self.files_to_stagein() if not self.files: return files_to_uris = {} alldirs, allfiles, total_size = self.collect_files() stagein_dir, dir_uris = self.create_stagein_dir(alldirs) print("Staging in %s in %i directories and %i files." % (human_readable_size(total_size), len(alldirs), len(allfiles))) files_to_uris.update(dir_uris) for f in allfiles: rel_path, fname = os.path.split(f.relpath) file_uri = self.stagein_file(f, stagein_dir + rel_path) files_to_uris[f.relpath.encode("utf-8")] = file_uri print("Staging in finished.") return files_to_uris