From 0ef8d8f96166a4b0bdfae4695876bf527e992ef3 Mon Sep 17 00:00:00 2001 From: Bulat Kurbanov Date: Sun, 24 Apr 2022 23:25:17 +0300 Subject: [PATCH] Fix FileNotFound when unzip --- src/app/services/fl_downloader.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/app/services/fl_downloader.py b/src/app/services/fl_downloader.py index 4c8acd4..cbc5b38 100644 --- a/src/app/services/fl_downloader.py +++ b/src/app/services/fl_downloader.py @@ -153,9 +153,12 @@ class FLDownloader(BaseDownloader): await temp_file.flush() - return await asyncio.get_event_loop().run_in_executor( - process_pool_executor, unzip, temp_file.name, "fb2" - ) + try: + return await asyncio.get_event_loop().run_in_executor( + process_pool_executor, unzip, temp_file.name, "fb2" + ) + except FileNotFoundError: + return None async def _download_with_converting( self, @@ -185,6 +188,9 @@ class FLDownloader(BaseDownloader): await response.aclose() await client.aclose() + if filename_to_convert is None: + raise ValueError + form = {"format": self.file_type} files = {"file": open(filename_to_convert, "rb")} @@ -241,6 +247,9 @@ class FLDownloader(BaseDownloader): await response.aclose() await client.aclose() + if temp_filename is None: + return None + if self.need_zip: content_filename = await asyncio.get_event_loop().run_in_executor( process_pool_executor, zip, await self.get_filename(), temp_filename