[tasks] Fix dataclass models
This commit is contained in:
@ -78,6 +78,14 @@ class BoardGameScoreLogData(JSONDataclass):
|
|||||||
rank: Optional[int] = None
|
rank: Optional[int] = None
|
||||||
seat_order: Optional[int] = None
|
seat_order: Optional[int] = None
|
||||||
role: Optional[str] = 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
|
@property
|
||||||
def person(self) -> Optional[Person]:
|
def person(self) -> Optional[Person]:
|
||||||
@ -111,7 +119,19 @@ class BoardGameLogData(LongPlayLogData):
|
|||||||
solo: Optional[bool] = None
|
solo: Optional[bool] = None
|
||||||
two_handed: Optional[bool] = None
|
two_handed: Optional[bool] = None
|
||||||
expansion_ids: Optional[int] = 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
|
@cached_property
|
||||||
def geo_location(self) -> Optional[GeoLocation]:
|
def geo_location(self) -> Optional[GeoLocation]:
|
||||||
if self.geo_location_id:
|
if self.geo_location_id:
|
||||||
@ -119,7 +139,9 @@ class BoardGameLogData(LongPlayLogData):
|
|||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def player_log(self) -> str:
|
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
|
@dataclass
|
||||||
class BookPageLogData(JSONDataclass):
|
class BookPageLogData(JSONDataclass):
|
||||||
|
|||||||
@ -18,10 +18,15 @@ class TaskLogData(JSONDataclass):
|
|||||||
description: Optional[str] = None
|
description: Optional[str] = None
|
||||||
title: Optional[str] = None
|
title: Optional[str] = None
|
||||||
project: Optional[str] = None
|
project: Optional[str] = None
|
||||||
|
notes: Optional[dict] = None
|
||||||
|
updated_at: Optional[str] = None
|
||||||
todoist_id: Optional[str] = None
|
todoist_id: Optional[str] = None
|
||||||
todoist_event: Optional[str] = None
|
todoist_event: Optional[str] = None
|
||||||
todoist_type: 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:
|
def notes_as_str(self) -> str:
|
||||||
"""Return formatted notes with line breaks and no keys"""
|
"""Return formatted notes with line breaks and no keys"""
|
||||||
|
|||||||
Reference in New Issue
Block a user