|
19 | 19 | import calendar
|
20 | 20 | from datetime import datetime, timedelta, tzinfo
|
21 | 21 |
|
| 22 | +from git.objects.base import IndexObject # just for an isinstance check |
| 23 | + |
22 | 24 | # typing ------------------------------------------------------------
|
23 | 25 | from typing import (Any, Callable, Deque, Iterator, NamedTuple, overload, Sequence,
|
24 | 26 | TYPE_CHECKING, Tuple, Type, TypeVar, Union, cast)
|
@@ -317,7 +319,7 @@ def list_traverse(self, *args: Any, **kwargs: Any) -> IterableList[Union['Commit
|
317 | 319 | """
|
318 | 320 | # Commit and Submodule have id.__attribute__ as IterableObj
|
319 | 321 | # Tree has id.__attribute__ inherited from IndexObject
|
320 |
| - if isinstance(self, (TraversableIterableObj, Tree)): |
| 322 | + if isinstance(self, (TraversableIterableObj, IndexObject)): |
321 | 323 | id = self._id_attribute_
|
322 | 324 | else:
|
323 | 325 | id = "" # shouldn't reach here, unless Traversable subclass created with no _id_attribute_
|
@@ -456,6 +458,9 @@ class TraversableIterableObj(Traversable, IterableObj):
|
456 | 458 |
|
457 | 459 | TIobj_tuple = Tuple[Union[T_TIobj, None], T_TIobj]
|
458 | 460 |
|
| 461 | + def list_traverse(self: T_TIobj, *args: Any, **kwargs: Any) -> IterableList[T_TIobj]: # type: ignore[override] |
| 462 | + return super(TraversableIterableObj, self).list_traverse(* args, **kwargs) |
| 463 | + |
459 | 464 | @ overload # type: ignore
|
460 | 465 | def traverse(self: T_TIobj,
|
461 | 466 | predicate: Callable[[Union[T_TIobj, Tuple[Union[T_TIobj, None], T_TIobj]], int], bool],
|
|
0 commit comments