From 3a373a200cf95c4f9dbe9e4d03da7ca4a334b1f1 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 3 Oct 2021 10:18:28 +0530 Subject: [PATCH] Add a tell() method to PatchFile to track how much has been written --- kittens/transfer/librsync.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kittens/transfer/librsync.py b/kittens/transfer/librsync.py index fe1114110..12e6abe8f 100644 --- a/kittens/transfer/librsync.py +++ b/kittens/transfer/librsync.py @@ -120,6 +120,11 @@ class PatchFile(StreamingJob): job = begin_patch(self.read_from_src) super().__init__(job, output_buf_size=4 * IO_BUFFER_SIZE) + def tell(self) -> int: + if self.dest_file.closed: + return os.path.getsize(self.src_file.name if self.overwrite_src else self.dest_file.name) + return self.dest_file.tell() + def read_from_src(self, b: memoryview, pos: int) -> int: self.src_file.seek(pos) return self.src_file.readinto(b) # type: ignore