diff --git a/src/app/services/book_library.py b/src/app/services/book_library.py index 4770dd2..ca25c20 100644 --- a/src/app/services/book_library.py +++ b/src/app/services/book_library.py @@ -54,8 +54,7 @@ class BookLibraryClient: @classmethod async def _make_request(cls, url) -> dict: async with httpx.AsyncClient(timeout=60) as client: - response = await client.get(url, headers=cls.auth_headers) - return response.json() + return (await client.get(url, headers=cls.auth_headers)).json() @classmethod async def get_sources(cls) -> list[Source]: diff --git a/src/app/services/fl_downloader.py b/src/app/services/fl_downloader.py index c9ac46e..8dbf260 100644 --- a/src/app/services/fl_downloader.py +++ b/src/app/services/fl_downloader.py @@ -83,17 +83,13 @@ class FLDownloader(BaseDownloader): content_type = response.headers.get("Content-Type") if response.status_code != 200: - await response.aclose() - await client.aclose() raise NotSuccess(f"Status code is {response.status_code}!") if "text/html" in content_type: - await response.aclose() - await client.aclose() raise ReceivedHTML() return client, response, "application/zip" in content_type - except asyncio.CancelledError: + except (asyncio.CancelledError, NotSuccess, ReceivedHTML): await client.aclose() await client.aclose() raise @@ -224,7 +220,7 @@ class FLDownloader(BaseDownloader): raise ConvertationError return converter_client, converter_response, False - except asyncio.CancelledError: + except (asyncio.CancelledError, ConvertationError): await converter_response.aclose() await converter_client.aclose() await aiofiles.os.remove(filename_to_convert)