diff --git a/src/database/classes.py b/src/database/classes.py index e3106cc..165e949 100644 --- a/src/database/classes.py +++ b/src/database/classes.py @@ -1,6 +1,7 @@ from __future__ import annotations import logging +from base64 import b64decode from base64 import b64encode from io import BytesIO from pathlib import Path @@ -122,6 +123,12 @@ class VisualCommunication(BaseModel): image.load() return VisualCommunication(name=name, image=image) + @classmethod + def decode_image(cls, content: str) -> Image.Image: + """Decode image.""" + _, content_data = content.split(',') + return Image.open(BytesIO(b64decode(content_data))) + @field_serializer('image') def serialize_image(image: Image.Image) -> bytes: # type: ignore buffer = BytesIO()