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 | |
) | |