in src/buildstream_plugins/sources/docker.py [0:0]
def is_cached(self):
mirror_dir = self.get_mirror_directory()
try:
manifest = self._load_manifest()
for layer in manifest["layers"]:
layer_digest = layer["digest"]
blob_path = os.path.join(mirror_dir, layer_digest + ".tar.gz")
try:
self._verify_blob(blob_path, expected_digest=layer_digest)
except FileNotFoundError:
# digest fetched, but some layer blob not fetched
return False
return True
except (FileNotFoundError, SourceError):
return False