mirror of
https://github.com/flibusta-apps/books_downloader.git
synced 2025-12-06 06:55:37 +01:00
Fix closing client
This commit is contained in:
@@ -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]:
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user