summaryrefslogtreecommitdiff
path: root/git/objects/util.py
diff options
context:
space:
mode:
authorYobmod <yobmod@gmail.com>2021-07-09 00:56:20 +0100
committerYobmod <yobmod@gmail.com>2021-07-09 00:56:20 +0100
commit1faa25fcf828062d2c4ad35a962b4d8d3b05e855 (patch)
treede2a427894b78dfd2ca7f9f3de6ae86335b5004e /git/objects/util.py
parent4802a36bd0fec7e6ae03d6713ceae70de8e1783a (diff)
downloadgitpython-1faa25fcf828062d2c4ad35a962b4d8d3b05e855.tar.gz
Rmv typeguard from list_traverse(), was wrong
Diffstat (limited to 'git/objects/util.py')
-rw-r--r--git/objects/util.py30
1 files changed, 13 insertions, 17 deletions
diff --git a/git/objects/util.py b/git/objects/util.py
index 5fb4c58a..7173bc7a 100644
--- a/git/objects/util.py
+++ b/git/objects/util.py
@@ -23,7 +23,7 @@ from datetime import datetime, timedelta, tzinfo
from typing import (Any, Callable, Deque, Iterator, NamedTuple, overload, Sequence,
TYPE_CHECKING, Tuple, Type, TypeVar, Union, cast)
-from git.types import Literal, TypeGuard
+from git.types import Literal
if TYPE_CHECKING:
from io import BytesIO, StringIO
@@ -306,23 +306,19 @@ class Traversable(object):
"""
raise NotImplementedError("To be implemented in subclass")
- def list_traverse(self, *args: Any, **kwargs: Any) -> IterableList['TraversableIterableObj']:
+ def list_traverse(self, *args: Any, **kwargs: Any) -> IterableList:
"""
:return: IterableList with the results of the traversal as produced by
traverse()
- List objects must be IterableObj and Traversable e.g. Commit, Submodule"""
-
- def is_TraversableIterableObj(inp: 'Traversable') -> TypeGuard['TraversableIterableObj']:
- # return isinstance(self, TraversableIterableObj)
- # Can it be anything else? Check this
- return isinstance(self, TraversableIterableObj)
+ """
+ if isinstance(self, TraversableIterableObj):
+ id = self._id_attribute_
+ else: # Tree
+ id = ""
- 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_
+ out: IterableList = IterableList(id)
+ out.extend(self.traverse(*args, **kwargs))
+ return out
def traverse(self,
predicate: Callable[[Union['Traversable', 'Blob', TraversedTup], int], bool] = lambda i, d: True,
@@ -449,7 +445,7 @@ class TraversableIterableObj(Traversable, IterableObj):
TIobj_tuple = Tuple[Union[T_TIobj, None], T_TIobj]
- @overload # type: ignore
+ @ overload # type: ignore
def traverse(self: T_TIobj,
predicate: Callable[[Union[T_TIobj, Tuple[Union[T_TIobj, None], T_TIobj]], int], bool],
prune: Callable[[Union[T_TIobj, Tuple[Union[T_TIobj, None], T_TIobj]], int], bool],
@@ -459,7 +455,7 @@ class TraversableIterableObj(Traversable, IterableObj):
) -> Iterator[T_TIobj]:
...
- @overload
+ @ overload
def traverse(self: T_TIobj,
predicate: Callable[[Union[T_TIobj, Tuple[Union[T_TIobj, None], T_TIobj]], int], bool],
prune: Callable[[Union[T_TIobj, Tuple[Union[T_TIobj, None], T_TIobj]], int], bool],
@@ -469,7 +465,7 @@ class TraversableIterableObj(Traversable, IterableObj):
) -> Iterator[Tuple[Union[T_TIobj, None], T_TIobj]]:
...
- @overload
+ @ overload
def traverse(self: T_TIobj,
predicate: Callable[[Union[T_TIobj, TIobj_tuple], int], bool],
prune: Callable[[Union[T_TIobj, TIobj_tuple], int], bool],