This commit is contained in:
Taras Terletskyi 2023-11-25 23:28:44 +02:00
parent 9d927c4411
commit ae48a58d88
2 changed files with 7 additions and 12 deletions

View file

@ -52,12 +52,12 @@ class SuccessDownloadHandler(AbstractDownloadHandler):
message_ids=[self._body.context.ack_message_id],
)
async def _set_upload_message(self) -> None:
async def _set_upload_message(self, media_object: BaseMedia) -> None:
try:
await self._bot.edit_message_text(
chat_id=self._body.from_chat_id,
message_id=self._body.context.ack_message_id,
text=f'⬆️ {bold("Uploading")}',
text=f'⬆️ {bold(f"Uploading {media_object.file_size_human()}")}',
)
except (MessageIdInvalid, MessageNotModified) as err:
# Expected behaviour when several links where pasted in one message and
@ -91,7 +91,7 @@ class SuccessDownloadHandler(AbstractDownloadHandler):
self._validate_file_size_for_upload(media_object)
coros = (
self._create_upload_task(media_object),
self._set_upload_message(),
self._set_upload_message(media_object),
)
await asyncio.gather(*coros)
else:

View file

@ -23,8 +23,10 @@ class RMQCallbacks:
async def _process_incoming_message(self, message: IncomingMessage) -> None:
self._log.info('[x] Received message %s', message.body)
media_payload = self._deserialize_message(message)
if not media_payload:
try:
media_payload = InbMediaPayload.model_validate_json(message.body)
except Exception:
self._log.exception('Failed to deserialize message body: %s', message.body)
await self._reject_invalid_message(message)
return
@ -32,13 +34,6 @@ class RMQCallbacks:
await self._payload_handler.handle(media_payload=media_payload)
self._log.info('Processing done with payload: %s', media_payload)
def _deserialize_message(self, message: IncomingMessage) -> InbMediaPayload | None:
try:
return InbMediaPayload.model_validate_json(message.body)
except Exception:
self._log.exception('Failed to deserialize message body: %s', message.body)
return None
async def _reject_invalid_message(self, message: IncomingMessage) -> None:
body = message.body
self._log.error('Invalid message body: %s, type: %s', body, type(body))