This commit is contained in:
2023-08-09 00:23:26 +02:00
parent d043ea4f5a
commit 1d1cd63e7b
2 changed files with 6 additions and 4 deletions

View File

@@ -35,7 +35,7 @@ async def download(
return response, client, name
async def get_filename(book_id: int, file_type: str) -> Optional[str]:
async def get_filename(book_id: int, file_type: str) -> Optional[tuple[str, str]]:
headers = {"Authorization": env_config.DOWNLOADER_API_KEY}
try:
@@ -49,7 +49,9 @@ async def get_filename(book_id: int, file_type: str) -> Optional[str]:
if response.status_code != 200:
return None
return response.text
data = response.json()
return data["filename"], data["filename_ascii"]
except httpx.HTTPError as e:
capture_exception(e)
return None

View File

@@ -70,7 +70,7 @@ async def download_cached_file(request: Request, object_id: int, object_type: st
if data is None:
raise HTTPException(status_code=status.HTTP_204_NO_CONTENT)
if (filename := await get_filename(object_id, object_type)) is None:
if (filename_data := await get_filename(object_id, object_type)) is None:
raise HTTPException(status_code=status.HTTP_204_NO_CONTENT)
if (book := await get_book(object_id)) is None:
@@ -82,7 +82,7 @@ async def download_cached_file(request: Request, object_id: int, object_type: st
await response.aclose()
await client.aclose()
filename_ascii = filename.encode("ascii", "ignore").decode("ascii")
filename, filename_ascii = filename_data
return StreamingResponse(
response.aiter_bytes(),