summaryrefslogtreecommitdiff
path: root/src/buildstream/storage/_filebaseddirectory.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildstream/storage/_filebaseddirectory.py')
-rw-r--r--src/buildstream/storage/_filebaseddirectory.py59
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):