allow retrieval and pruning of contents by name

This commit is contained in:
George Lacey 2025-07-12 13:43:51 +01:00
parent 1c42269f92
commit a44d6f034a

View File

@ -14,6 +14,22 @@ class Directory(ABC):
def __iter__(self): def __iter__(self):
return self.contents.__iter__() 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 @property
def name(self): def name(self):
return self.path.name return self.path.name