From 4802a36bd0fec7e6ae03d6713ceae70de8e1783a Mon Sep 17 00:00:00 2001 From: Yobmod Date: Fri, 9 Jul 2021 00:07:42 +0100 Subject: improve TraversableIterableObj typeguard --- git/objects/util.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'git/objects/util.py') 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, -- cgit v1.2.1