diff options
author | Yobmod <yobmod@gmail.com> | 2021-07-09 00:07:42 +0100 |
---|---|---|
committer | Yobmod <yobmod@gmail.com> | 2021-07-09 00:07:42 +0100 |
commit | 4802a36bd0fec7e6ae03d6713ceae70de8e1783a (patch) | |
tree | dec0c144236d1ed035126f9bb7aafb25ba2af4b3 /git/objects/util.py | |
parent | f271c58adb36550a02607811e97cc19feae4bafb (diff) | |
download | gitpython-4802a36bd0fec7e6ae03d6713ceae70de8e1783a.tar.gz |
improve TraversableIterableObj typeguard
Diffstat (limited to 'git/objects/util.py')
-rw-r--r-- | git/objects/util.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/git/objects/util.py b/git/objects/util.py index 5de9c3e9..5fb4c58a 100644 --- a/git/objects/util.py +++ b/git/objects/util.py @@ -317,10 +317,12 @@ class Traversable(object): # Can it be anything else? Check this return isinstance(self, TraversableIterableObj) - assert is_TraversableIterableObj(self), f"{type(self)}" - out: IterableList['TraversableIterableObj'] = IterableList(self._id_attribute_) - out.extend(self.traverse(*args, **kwargs)) - return out + if is_TraversableIterableObj(self): + out: IterableList['TraversableIterableObj'] = IterableList(self._id_attribute_) + out.extend(self.traverse(*args, **kwargs)) + return out + else: + return IterableList("") # Its a Tree, which doesnt have _id_attribute_ def traverse(self, predicate: Callable[[Union['Traversable', 'Blob', TraversedTup], int], bool] = lambda i, d: True, |