Spaces:
Build error
Build error
| # message_parser.py | |
| from app.models.message_types import Message, MediaContent, MediaType | |
| class MessageParser: | |
| def parse(raw_message: dict) -> Message: | |
| media = {} | |
| if image := raw_message.get("image"): | |
| media[MediaType.IMAGE] = MediaContent( | |
| id=image["id"], | |
| file_path=f"{image['id']}.jpg" | |
| ) | |
| if document := raw_message.get("document"): | |
| media[MediaType.DOCUMENT] = MediaContent( | |
| id=document["id"], | |
| file_path=document.get("filename"), | |
| filename=document.get("filename") | |
| ) | |
| if video := raw_message.get("video"): | |
| mime_type = video.get("mime_type") | |
| media[MediaType.VIDEO] = MediaContent( | |
| id=video["id"], | |
| file_path=f"{video['id']}.{mime_type.split('/')[-1]}", | |
| mime_type=mime_type | |
| ) | |
| return Message( | |
| id=raw_message["id"], | |
| sender_id=raw_message["from"], | |
| content=raw_message.get("text", {}).get("body"), | |
| media=media if media else None | |
| ) | |