From ad0f9a54d067f88c46a9ef11ad23a4875012380f Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Wed, 30 Jul 2025 15:46:07 -0400 Subject: [PATCH] [tasks] Fix dataclass models --- vrobbler/apps/scrobbles/dataclasses.py | 26 ++++++++++++++++++++++++-- vrobbler/apps/tasks/models.py | 7 ++++++- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/vrobbler/apps/scrobbles/dataclasses.py b/vrobbler/apps/scrobbles/dataclasses.py index 05081ad..ce561f3 100644 --- a/vrobbler/apps/scrobbles/dataclasses.py +++ b/vrobbler/apps/scrobbles/dataclasses.py @@ -78,6 +78,14 @@ class BoardGameScoreLogData(JSONDataclass): rank: Optional[int] = None seat_order: Optional[int] = None role: Optional[str] = None + rank: Optional[int] = None + seat_order: Optional[int] = None + role: Optional[str] = None + lichess_username: Optional[str] = None + # Legacy + user_id: Optional[int] = None + name_str: Optional[str] = None + @property def person(self) -> Optional[Person]: @@ -111,7 +119,19 @@ class BoardGameLogData(LongPlayLogData): solo: Optional[bool] = None two_handed: Optional[bool] = None expansion_ids: Optional[int] = None - + moves: Optional[list] = None + rated: Optional[str] = None + speed: Optional[str] = None + variant: Optional[str] = None + lichess_id: Optional[int] = None + board: Optional[str] = None + rounds: Optional[int] = None + details: Optional[str] = None + # Legacy + learning: Optional[bool] = None + location: Optional[str] = None + geo_location_id: Optional[int] = None + scenario: Optional[str] = None @cached_property def geo_location(self) -> Optional[GeoLocation]: if self.geo_location_id: @@ -119,7 +139,9 @@ class BoardGameLogData(LongPlayLogData): @cached_property def player_log(self) -> str: - return ", ".join([BoardGameScoreLogData(**player).__str__() for player in self.players]) + if self.players: + return ", ".join([BoardGameScoreLogData(**player).__str__() for player in self.players]) + return "" @dataclass class BookPageLogData(JSONDataclass): diff --git a/vrobbler/apps/tasks/models.py b/vrobbler/apps/tasks/models.py index 2dc698a..cf75f96 100644 --- a/vrobbler/apps/tasks/models.py +++ b/vrobbler/apps/tasks/models.py @@ -18,10 +18,15 @@ class TaskLogData(JSONDataclass): description: Optional[str] = None title: Optional[str] = None project: Optional[str] = None + notes: Optional[dict] = None + updated_at: Optional[str] = None todoist_id: Optional[str] = None todoist_event: Optional[str] = None todoist_type: Optional[str] = None - notes: Optional[dict] = None + todoist_type: Optional[str] = None + todoist_label_list: Optional[list] = None + todoist_project_id: Optional[str] = None + def notes_as_str(self) -> str: """Return formatted notes with line breaks and no keys"""