|
@@ -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):
|