Add publications

This commit is contained in:
Campbell Alden 2026-08-14 23:35:32 +09:00
parent be71dfc7ce
commit 583a5737a6
6 changed files with 199 additions and 2 deletions

View file

@ -0,0 +1,43 @@
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)