diff --git a/PROJECT.org b/PROJECT.org index d5898d4..fb2b971 100644 --- a/PROJECT.org +++ b/PROJECT.org @@ -88,7 +88,7 @@ fetching and simple saving. *** Metadata sources **** Scraper -* Backlog [0/22] :vrobbler:project:personal: +* Backlog [1/24] :vrobbler:project:personal: ** TODO [#C] After transition to linux add curl_cffi as webpage scrapper again :webpages:metadata: ** TODO [#C] Create small utility to clean up tracks scrobbled with wonky playback times :bug:music:scrobbles: :PROPERTIES: @@ -605,6 +605,10 @@ independent of the email flow it was originally creatdd for ** TODO [#B] Is there way to create unique slugs for media instances :media_types: +** DONE [#A] Fix a bug in board game scorelog data :boardgames:logdata: +:PROPERTIES: +:ID: 014bab30-13bf-fae7-e678-4666a8d38ae4 +:END: * Version 58.3 [1/1] ** DONE [#A] Remove curl-cffi as it doesn't work on FreeBSD :webpages:deps: :PROPERTIES: diff --git a/vrobbler/apps/boardgames/models.py b/vrobbler/apps/boardgames/models.py index 251b732..debae3d 100644 --- a/vrobbler/apps/boardgames/models.py +++ b/vrobbler/apps/boardgames/models.py @@ -120,7 +120,12 @@ class BoardGameLogData(BaseLogData, LongPlayLogData): def player_log(self) -> str: if self.players: return ", ".join( - [BoardGameScoreLogData(**player).__str__() for player in self.players] + [ + BoardGameScoreLogData( + **{k: v for k, v in player.items() if k in BoardGameScoreLogData.__dataclass_fields__} + ).__str__() + for player in self.players + ] ) return "" @@ -136,7 +141,9 @@ class BoardGameLogData(BaseLogData, LongPlayLogData): if self.players: players_html = [] for player_data in self.players: - player = BoardGameScoreLogData(**player_data) + player = BoardGameScoreLogData( + **{k: v for k, v in player_data.items() if k in BoardGameScoreLogData.__dataclass_fields__} + ) player_info = player.name if player.score: player_info += f" ({player.score})"