This commit is contained in:
bskjon 2024-07-14 01:13:57 +02:00
parent d30d175616
commit 3a32f30838

View File

@ -1,5 +1,5 @@
import json import json
from dataclasses import dataclass from dataclasses import dataclass, asdict
from typing import Any, List, Optional from typing import Any, List, Optional
from datetime import datetime from datetime import datetime
@ -12,24 +12,34 @@ class EventMetadata:
status: str status: str
created: datetime created: datetime
def to_dict(self):
return asdict(self)
@dataclass @dataclass
class EventData: class EventData:
title: str title: str
sanitizedName: str sanitizedName: str
searchTitles: List[str] searchTitles: List[str]
def to_dict(self):
return asdict(self)
@dataclass @dataclass
class MediaEvent: class MediaEvent:
metadata: EventMetadata metadata: EventMetadata
eventType: str eventType: str
data: Any| EventData data: Any| EventData
def to_dict(self):
return asdict(self)
# Funksjon for å parse datetime fra streng # Funksjon for å parse datetime fra streng
def parse_datetime(datetime_str: str) -> datetime: def parse_datetime(datetime_str: str) -> datetime:
return datetime.fromisoformat(datetime_str) return datetime.fromisoformat(datetime_str)
def event_data_to_json(event_data: EventData) -> str: def event_data_to_json(event_data: EventData) -> str:
return json.dumps(event_data.__dict__) return json.dumps(event_data.to_dict())
# Funksjon for å konvertere JSON til klasser # Funksjon for å konvertere JSON til klasser
def json_to_media_event(json_data: str) -> MediaEvent: def json_to_media_event(json_data: str) -> MediaEvent: