diff options
Diffstat (limited to 'git')
-rw-r--r-- | git/compat.py | 11 | ||||
-rw-r--r-- | git/util.py | 3 |
2 files changed, 10 insertions, 4 deletions
diff --git a/git/compat.py b/git/compat.py index cbb39fa6..187618a2 100644 --- a/git/compat.py +++ b/git/compat.py @@ -43,9 +43,11 @@ defenc = sys.getfilesystemencoding() @overload def safe_decode(s: None) -> None: ... + @overload def safe_decode(s: AnyStr) -> str: ... + def safe_decode(s: Union[AnyStr, None]) -> Optional[str]: """Safely decodes a binary string to unicode""" if isinstance(s, str): @@ -61,9 +63,11 @@ def safe_decode(s: Union[AnyStr, None]) -> Optional[str]: @overload def safe_encode(s: None) -> None: ... + @overload def safe_encode(s: AnyStr) -> bytes: ... + def safe_encode(s: Optional[AnyStr]) -> Optional[bytes]: """Safely encodes a binary string to unicode""" if isinstance(s, str): @@ -79,9 +83,11 @@ def safe_encode(s: Optional[AnyStr]) -> Optional[bytes]: @overload def win_encode(s: None) -> None: ... + @overload def win_encode(s: AnyStr) -> bytes: ... + def win_encode(s: Optional[AnyStr]) -> Optional[bytes]: """Encode unicodes for process arguments on Windows.""" if isinstance(s, str): @@ -93,7 +99,8 @@ def win_encode(s: Optional[AnyStr]) -> Optional[bytes]: return None -def with_metaclass(meta: Type[Any], *bases: Any) -> TBD: # type: ignore ## mypy cannot understand dynamic class creation +# type: ignore ## mypy cannot understand dynamic class creation +def with_metaclass(meta: Type[Any], *bases: Any) -> TBD: """copied from https://github.com/Byron/bcore/blob/master/src/python/butility/future.py#L15""" class metaclass(meta): # type: ignore @@ -105,4 +112,4 @@ def with_metaclass(meta: Type[Any], *bases: Any) -> TBD: # type: ignore ## mypy return type.__new__(cls, name, (), d) return meta(name, bases, d) - return metaclass(meta.__name__ + 'Helper', None, {}) # type: ignore + return metaclass(meta.__name__ + 'Helper', None, {}) # type: ignore diff --git a/git/util.py b/git/util.py index 30018310..403e66a6 100644 --- a/git/util.py +++ b/git/util.py @@ -332,9 +332,8 @@ def is_cygwin_git(git_executable: Union[None, PathLike]) -> bool: return False if git_executable is None: - return False # or raise error? + return False - #from subprocess import check_output git_executable = str(git_executable) is_cygwin = _is_cygwin_cache.get(git_executable) # type: Optional[bool] if is_cygwin is None: |