diff options
author | Jürg Billeter <j@bitron.ch> | 2020-03-05 09:07:10 +0100 |
---|---|---|
committer | bst-marge-bot <marge-bot@buildstream.build> | 2020-04-27 08:32:32 +0000 |
commit | 236382d7403338ca216769de73d18ffb6f5d3fda (patch) | |
tree | cd337e6e114b74d9c2443b6c54cb551c2df03db6 | |
parent | ac7e20f1fb084ebe3c91cc85e0f865662115e372 (diff) | |
download | buildstream-236382d7403338ca216769de73d18ffb6f5d3fda.tar.gz |
storage: Implement __iter__ in Directory classes
-rw-r--r-- | src/buildstream/storage/_casbaseddirectory.py | 3 | ||||
-rw-r--r-- | src/buildstream/storage/_filebaseddirectory.py | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/buildstream/storage/_casbaseddirectory.py b/src/buildstream/storage/_casbaseddirectory.py index 6fe200de1..99cf1113f 100644 --- a/src/buildstream/storage/_casbaseddirectory.py +++ b/src/buildstream/storage/_casbaseddirectory.py @@ -843,6 +843,9 @@ class CasBasedDirectory(Directory): except VirtualDirectoryError: return False + def __iter__(self): + yield from self.index.keys() + def _set_subtree_read_only(self, read_only): self.__node_properties = list(filter(lambda prop: prop.name != "SubtreeReadOnly", self.__node_properties)) node_property = remote_execution_pb2.NodeProperty() diff --git a/src/buildstream/storage/_filebaseddirectory.py b/src/buildstream/storage/_filebaseddirectory.py index f9a830590..1799a84b8 100644 --- a/src/buildstream/storage/_filebaseddirectory.py +++ b/src/buildstream/storage/_filebaseddirectory.py @@ -277,6 +277,9 @@ class FileBasedDirectory(Directory): return utils.save_file_atomic(newpath, mode=mode, encoding=encoding) + def __iter__(self): + yield from os.listdir(self.external_directory) + def __str__(self): # This returns the whole path (since we don't know where the directory started) # which exposes the sandbox directory; we will have to assume for the time being |