Procházet zdrojové kódy

_hashlib import is needed only for typechecking

David Hotham před 1 rokem
rodič
revize
29644a21cf
1 změnil soubory, kde provedl 5 přidání a 3 odebrání
  1. 5 3
      dulwich/objects.py

+ 5 - 3
dulwich/objects.py

@@ -31,6 +31,7 @@ from collections import namedtuple
 from hashlib import sha1
 from io import BytesIO
 from typing import (
+    TYPE_CHECKING,
     BinaryIO,
     Dict,
     Iterable,
@@ -42,8 +43,6 @@ from typing import (
     Union,
 )
 
-from _hashlib import HASH
-
 from .errors import (
     ChecksumMismatch,
     FileFormatException,
@@ -55,6 +54,9 @@ from .errors import (
 )
 from .file import GitFile
 
+if TYPE_CHECKING:
+    from _hashlib import HASH
+
 ZERO_SHA = b"0" * 40
 
 # Header fields for commits
@@ -277,7 +279,7 @@ class ShaFile:
     type_name: bytes
     type_num: int
     _chunked_text: Optional[List[bytes]]
-    _sha: Union[FixedSha, None, HASH]
+    _sha: Union[FixedSha, None, "HASH"]
 
     @staticmethod
     def _parse_legacy_object_header(magic, f: BinaryIO) -> "ShaFile":