cereal/src/services/publications/data.py
2026-08-14 23:35:32 +09:00

43 lines
778 B
Python

from datetime import timedelta
from dataclasses import dataclass, field
@dataclass
class Entry:
id: int
text: str
html: str | None = None
@dataclass
class Sequence:
position: int
entry: Entry
duration: timedelta | None
@dataclass
class Order:
id: int
title: str
sequence_entries: list[Sequence]
@dataclass
class PublicationProfile:
id: int
title: str
description: str
@dataclass
class Publication:
id: int
title: str
description: str
by_line: str
orders: list[Order] = field(default_factory=list)
# Rather than using a subclass I think this makes sense
def to_profile(self) -> PublicationProfile:
return PublicationProfile(id=self.id, title=self.title, description=self.description)