summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2019-02-17 18:16:08 +0100
committerJürg Billeter <j@bitron.ch>2019-02-18 11:29:25 +0100
commit050249bb90b4a4f8a25842535ec0526d407b5804 (patch)
treef3acd31b76e4602eaf5bea737746d2335773230e
parentf9dd6ea2daada40292c2425963842f81bf6a00b0 (diff)
downloadbuildstream-050249bb90b4a4f8a25842535ec0526d407b5804.tar.gz
_casbaseddirectory.py: Add _get_digest() method
-rw-r--r--buildstream/storage/_casbaseddirectory.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/buildstream/storage/_casbaseddirectory.py b/buildstream/storage/_casbaseddirectory.py
index 1bdd22351..0ff7ea80b 100644
--- a/buildstream/storage/_casbaseddirectory.py
+++ b/buildstream/storage/_casbaseddirectory.py
@@ -657,3 +657,15 @@ class CasBasedDirectory(Directory):
throw an exception. """
raise VirtualDirectoryError("_get_underlying_directory was called on a CAS-backed directory," +
" which has no underlying directory.")
+
+ # _get_digest():
+ #
+ # Return the Digest for this directory.
+ #
+ # Returns:
+ # (Digest): The Digest protobuf object for the Directory protobuf
+ #
+ def _get_digest(self):
+ if not self.ref:
+ self.ref = self.cas_cache.add_object(buffer=self.pb2_directory.SerializeToString())
+ return self.ref