mirror of
https://github.com/flibusta-apps/telegram_files_cache_server.git
synced 2025-12-06 14:45:36 +01:00
Fix bug
This commit is contained in:
@@ -65,11 +65,14 @@ async def cache_file(book: Book, file_type) -> Optional[CachedFile]:
|
||||
await temp_file.write(chunk)
|
||||
await temp_file.seek(0)
|
||||
|
||||
upload_data = await upload_file(cast(SpooledTemporaryFile, temp_file.file), filename, caption)
|
||||
|
||||
await response.aclose()
|
||||
await client.aclose()
|
||||
|
||||
upload_data = await upload_file(cast(SpooledTemporaryFile, temp_file.file), filename, caption)
|
||||
|
||||
if upload_data is None:
|
||||
return None
|
||||
|
||||
return await CachedFile.objects.create(
|
||||
object_id=book.id, object_type=file_type, data=upload_data.data
|
||||
)
|
||||
|
||||
@@ -15,7 +15,7 @@ class UploadedFile(BaseModel):
|
||||
upload_time: datetime
|
||||
|
||||
|
||||
async def upload_file(content: SpooledTemporaryFile, filename: str, caption: str) -> UploadedFile:
|
||||
async def upload_file(content: SpooledTemporaryFile, filename: str, caption: str) -> Optional[UploadedFile]:
|
||||
headers = {"Authorization": env_config.FILES_SERVER_API_KEY}
|
||||
|
||||
async with httpx.AsyncClient() as client:
|
||||
@@ -30,6 +30,9 @@ async def upload_file(content: SpooledTemporaryFile, filename: str, caption: str
|
||||
timeout=5 * 60,
|
||||
)
|
||||
|
||||
if response.status_code != 200:
|
||||
return None
|
||||
|
||||
return UploadedFile.parse_obj(response.json())
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user