浏览代码

cleaner FileLikeWrapper with own __init__

Thomas Waldmann 2 年之前
父节点
当前提交
e772d70e05
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      src/borg/crypto/file_integrity.py

+ 6 - 2
src/borg/crypto/file_integrity.py

@@ -13,6 +13,9 @@ logger = create_logger()
 
 
 class FileLikeWrapper:
+    def __init__(self, fd):
+        self.fd = fd
+
     def __enter__(self):
         self.fd.__enter__()
         return self
@@ -59,7 +62,7 @@ class FileHashingWrapper(FileLikeWrapper):
     FACTORY: Callable = None
 
     def __init__(self, backing_fd, write):
-        self.fd = backing_fd
+        super().__init__(backing_fd)
         self.writing = write
         self.hash = self.FACTORY()
 
@@ -142,7 +145,8 @@ class IntegrityCheckedFile(FileLikeWrapper):
             # TODO: When we're reading but don't have any digests, i.e. no integrity file existed,
             # TODO: then we could just short-circuit.
 
-        self.fd = self.hasher = hash_cls(backing_fd=self.file_fd, write=write)
+        self.hasher = hash_cls(backing_fd=self.file_fd, write=write)
+        super().__init__(self.hasher)
         self.hash_filename(filename)
 
     def load_integrity_data(self, path, integrity_data):