From a44d6f034ada4a1a7b736d7b46e41cd36148f36f Mon Sep 17 00:00:00 2001 From: grglcy Date: Sat, 12 Jul 2025 13:43:51 +0100 Subject: [PATCH] allow retrieval and pruning of contents by name --- src/dir/directory.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/dir/directory.py b/src/dir/directory.py index fbb9380..8e0f37e 100644 --- a/src/dir/directory.py +++ b/src/dir/directory.py @@ -14,6 +14,22 @@ class Directory(ABC): def __iter__(self): return self.contents.__iter__() + def __getitem__(self, name): + for e in self: + if e.name == name: + return e + raise KeyError + + def prune(self, name): + for e in self: + if e.name == name: + self.contents.remove(e) + return + raise KeyError + + def __str__(self): + return self.name + @property def name(self): return self.path.name