summaryrefslogtreecommitdiff
path: root/src/buildstream/_sourcecache.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildstream/_sourcecache.py')
-rw-r--r--src/buildstream/_sourcecache.py60
1 files changed, 13 insertions, 47 deletions
diff --git a/src/buildstream/_sourcecache.py b/src/buildstream/_sourcecache.py
index 66e1c1bb9..29d0bd5ef 100644
--- a/src/buildstream/_sourcecache.py
+++ b/src/buildstream/_sourcecache.py
@@ -190,9 +190,7 @@ class SourceCache(BaseCache):
vdir.import_files(self.export(previous_source))
if not source.BST_STAGE_VIRTUAL_DIRECTORY:
- with utils._tempdir(
- dir=self.context.tmpdir, prefix="staging-temp"
- ) as tmpdir:
+ with utils._tempdir(dir=self.context.tmpdir, prefix="staging-temp") as tmpdir:
if not vdir.is_empty():
vdir.export_files(tmpdir)
source._stage(tmpdir)
@@ -244,15 +242,11 @@ class SourceCache(BaseCache):
source_proto = self._pull_source(ref, remote)
if source_proto is None:
source.info(
- "Remote source service ({}) does not have source {} cached".format(
- remote, display_key
- )
+ "Remote source service ({}) does not have source {} cached".format(remote, display_key)
)
continue
except CASError as e:
- raise SourceCacheError(
- "Failed to pull source {}: {}".format(display_key, e)
- ) from e
+ raise SourceCacheError("Failed to pull source {}: {}".format(display_key, e)) from e
if not source_proto:
return False
@@ -260,40 +254,26 @@ class SourceCache(BaseCache):
for remote in storage_remotes:
try:
remote.init()
- source.status(
- "Pulling data for source {} <- {}".format(display_key, remote)
- )
+ source.status("Pulling data for source {} <- {}".format(display_key, remote))
# Fetch source blobs
self.cas._fetch_directory(remote, source_proto.files)
- required_blobs = self.cas.required_blobs_for_directory(
- source_proto.files
- )
+ required_blobs = self.cas.required_blobs_for_directory(source_proto.files)
missing_blobs = self.cas.local_missing_blobs(required_blobs)
missing_blobs = self.cas.fetch_blobs(remote, missing_blobs)
if missing_blobs:
- source.info(
- "Remote cas ({}) does not have source {} cached".format(
- remote, display_key
- )
- )
+ source.info("Remote cas ({}) does not have source {} cached".format(remote, display_key))
continue
source.info("Pulled source {} <- {}".format(display_key, remote))
return True
except BlobNotFound as e:
# Not all blobs are available on this remote
- source.info(
- "Remote cas ({}) does not have blob {} cached".format(
- remote, e.blob
- )
- )
+ source.info("Remote cas ({}) does not have blob {} cached".format(remote, e.blob))
continue
except CASError as e:
- raise SourceCacheError(
- "Failed to pull source {}: {}".format(display_key, e)
- ) from e
+ raise SourceCacheError("Failed to pull source {}: {}".format(display_key, e)) from e
return False
@@ -325,18 +305,14 @@ class SourceCache(BaseCache):
display_key = source._get_brief_display_key()
for remote in storage_remotes:
remote.init()
- source.status(
- "Pushing data for source {} -> {}".format(display_key, remote)
- )
+ source.status("Pushing data for source {} -> {}".format(display_key, remote))
source_proto = self._get_source(ref)
try:
self.cas._send_directory(remote, source_proto.files)
pushed_storage = True
except CASRemoteError:
- source.info(
- "Failed to push source files {} -> {}".format(display_key, remote)
- )
+ source.info("Failed to push source files {} -> {}".format(display_key, remote))
continue
for remote in index_remotes:
@@ -345,19 +321,11 @@ class SourceCache(BaseCache):
# check whether cache has files already
if self._pull_source(ref, remote) is not None:
- source.info(
- "Remote ({}) already has source {} cached".format(
- remote, display_key
- )
- )
+ source.info("Remote ({}) already has source {} cached".format(remote, display_key))
continue
if not self._push_source(ref, remote):
- source.info(
- "Failed to push source metadata {} -> {}".format(
- display_key, remote
- )
- )
+ source.info("Failed to push source metadata {} -> {}".format(display_key, remote))
continue
source.info("Pushed source {} -> {}".format(display_key, remote))
@@ -388,9 +356,7 @@ class SourceCache(BaseCache):
source_proto.ParseFromString(f.read())
return source_proto
except FileNotFoundError as e:
- raise SourceCacheError(
- "Attempted to access unavailable source: {}".format(e)
- ) from e
+ raise SourceCacheError("Attempted to access unavailable source: {}".format(e)) from e
def _source_path(self, ref):
return os.path.join(self.sourcerefdir, ref)