diff --git a/dedupfs/dedupfs.py b/dedupfs/dedupfs.py index 4344fbc..b491930 100644 --- a/dedupfs/dedupfs.py +++ b/dedupfs/dedupfs.py @@ -828,6 +828,8 @@ class DedupFS(fuse.Fuse): # {{{1 with open(FIFO_PIPE, 'wb') as pipe: os.unlink(FIFO_PIPE) pipe.write(self.compress(new_block)) + # if callable(getattr(pipe, 'flush', None)): + # pipe.flush() process.wait() # self.blocks[digest] = self.compress(new_block) diff --git a/download_service.py b/download_service.py index acfc18c..0c81198 100644 --- a/download_service.py +++ b/download_service.py @@ -80,13 +80,19 @@ def upload_block(hash_uid): os.chdir(path_home) entity = client.get_entity(client.get_me()) FIFO = f"upipe_{hash_uid}" + import errno try: os.mkfifo(FIFO) except OSError as oe: if oe.errno != errno.EEXIST: raise + messages = client.get_messages(entity, limit=1, search=hash_uid) with open(FIFO, 'rb') as bytesin: + if len(messages): + bytesin.read(1) + bytesin.close() + return 0 message = client.send_file(entity, file=bytesin, caption=f'{hash_uid}', diff --git a/telegram_client_x.py b/telegram_client_x.py index 9fd9dd9..9acf56b 100644 --- a/telegram_client_x.py +++ b/telegram_client_x.py @@ -375,6 +375,8 @@ class TelegramClientX(TelegramClient): cdn_decrypter, result = CdnDecrypter.prepare_decrypter(client, self._get_cdn_client(result), result) else: f.write(result.bytes) + # if callable(getattr(f, 'flush', None)): + # f.flush() offset += part_size except FileMigrateError as e: __log__.info('File lives in another DC') @@ -410,6 +412,8 @@ class TelegramClientX(TelegramClient): for th in download_thread: if th.result and th.result.bytes: f.write(th.result.bytes) + # if callable(getattr(f, 'flush', None)): + # f.flush() if progress_callback: progress_callback(f.tell(), file_size) else: