summaryrefslogtreecommitdiff
path: root/git/objects/util.py
diff options
context:
space:
mode:
authorYobmod <yobmod@gmail.com>2021-07-09 00:07:42 +0100
committerYobmod <yobmod@gmail.com>2021-07-09 00:07:42 +0100
commit4802a36bd0fec7e6ae03d6713ceae70de8e1783a (patch)
treedec0c144236d1ed035126f9bb7aafb25ba2af4b3 /git/objects/util.py
parentf271c58adb36550a02607811e97cc19feae4bafb (diff)
downloadgitpython-4802a36bd0fec7e6ae03d6713ceae70de8e1783a.tar.gz
improve TraversableIterableObj typeguard
Diffstat (limited to 'git/objects/util.py')
-rw-r--r--git/objects/util.py10
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,