diff options
Diffstat (limited to 'src/buildstream/storage/_filebaseddirectory.py')
-rw-r--r-- | src/buildstream/storage/_filebaseddirectory.py | 59 |
1 files changed, 13 insertions, 46 deletions
diff --git a/src/buildstream/storage/_filebaseddirectory.py b/src/buildstream/storage/_filebaseddirectory.py index 21515649d..0926c1b3a 100644 --- a/src/buildstream/storage/_filebaseddirectory.py +++ b/src/buildstream/storage/_filebaseddirectory.py @@ -58,9 +58,7 @@ class FileBasedDirectory(Directory): """ See superclass Directory for arguments """ if follow_symlinks: - ImplError( - "FileBasedDirectory.Decend dose not implement follow_symlinks=True" - ) + ImplError("FileBasedDirectory.Decend dose not implement follow_symlinks=True") current_dir = self @@ -74,38 +72,24 @@ class FileBasedDirectory(Directory): st = os.lstat(new_path) if not stat.S_ISDIR(st.st_mode): raise VirtualDirectoryError( - "Cannot descend into '{}': '{}' is not a directory".format( - path, new_path - ) + "Cannot descend into '{}': '{}' is not a directory".format(path, new_path) ) except FileNotFoundError: if create: os.mkdir(new_path) else: - raise VirtualDirectoryError( - "Cannot descend into '{}': '{}' does not exist".format( - path, new_path - ) - ) + raise VirtualDirectoryError("Cannot descend into '{}': '{}' does not exist".format(path, new_path)) current_dir = FileBasedDirectory(new_path) return current_dir def import_files( - self, - external_pathspec, - *, - filter_callback=None, - report_written=True, - update_mtime=False, - can_link=False + self, external_pathspec, *, filter_callback=None, report_written=True, update_mtime=False, can_link=False ): """ See superclass Directory for arguments """ - from ._casbaseddirectory import ( - CasBasedDirectory, - ) # pylint: disable=cyclic-import + from ._casbaseddirectory import CasBasedDirectory # pylint: disable=cyclic-import if isinstance(external_pathspec, CasBasedDirectory): if can_link and not update_mtime: @@ -114,9 +98,7 @@ class FileBasedDirectory(Directory): actionfunc = utils.safe_copy import_result = FileListResult() - self._import_files_from_cas( - external_pathspec, actionfunc, filter_callback, result=import_result - ) + self._import_files_from_cas(external_pathspec, actionfunc, filter_callback, result=import_result) else: if isinstance(external_pathspec, Directory): source_directory = external_pathspec.external_directory @@ -144,15 +126,11 @@ class FileBasedDirectory(Directory): cur_time = time.time() for f in import_result.files_written: - os.utime( - os.path.join(self.external_directory, f), times=(cur_time, cur_time) - ) + os.utime(os.path.join(self.external_directory, f), times=(cur_time, cur_time)) return import_result def import_single_file(self, external_pathspec): - dstpath = os.path.join( - self.external_directory, os.path.basename(external_pathspec) - ) + dstpath = os.path.join(self.external_directory, os.path.basename(external_pathspec)) result = FileListResult() if os.path.exists(dstpath): result.ignored.append(dstpath) @@ -206,9 +184,7 @@ class FileBasedDirectory(Directory): tarfile.addfile(tarinfo, f) elif tarinfo.isdir(): tarfile.addfile(tarinfo) - self.descend(*filename.split(os.path.sep)).export_to_tar( - tarfile, arcname, mtime - ) + self.descend(*filename.split(os.path.sep)).export_to_tar(tarfile, arcname, mtime) else: tarfile.addfile(tarinfo) @@ -230,8 +206,7 @@ class FileBasedDirectory(Directory): return [ f for f in list_relative_paths(self.external_directory) - if _get_link_mtime(os.path.join(self.external_directory, f)) - != BST_ARBITRARY_TIMESTAMP + if _get_link_mtime(os.path.join(self.external_directory, f)) != BST_ARBITRARY_TIMESTAMP ] def list_relative_paths(self): @@ -272,9 +247,7 @@ class FileBasedDirectory(Directory): else: return _FileType.SPECIAL_FILE - def _import_files_from_cas( - self, source_directory, actionfunc, filter_callback, *, path_prefix="", result - ): + def _import_files_from_cas(self, source_directory, actionfunc, filter_callback, *, path_prefix="", result): """ Import files from a CAS-based directory. """ for name, entry in source_directory.index.items(): @@ -295,17 +268,11 @@ class FileBasedDirectory(Directory): except VirtualDirectoryError: filetype = self._get_filetype(name) raise VirtualDirectoryError( - "Destination is a {}, not a directory: /{}".format( - filetype, relative_pathname - ) + "Destination is a {}, not a directory: /{}".format(filetype, relative_pathname) ) dest_subdir._import_files_from_cas( - src_subdir, - actionfunc, - filter_callback, - path_prefix=relative_pathname, - result=result, + src_subdir, actionfunc, filter_callback, path_prefix=relative_pathname, result=result, ) if filter_callback and not filter_callback(relative_pathname): |