[boardgames] Fix and clean up BGG push integration

This commit is contained in:
2026-07-15 16:41:12 -04:00
parent 9523d631b0
commit 00249e3d3b
2 changed files with 114 additions and 37 deletions

View File

@ -88,7 +88,7 @@ fetching and simple saving.
*** Metadata sources
**** Scraper
* Backlog [0/25] :vrobbler:project:personal:
* Backlog [1/25] :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:
@ -580,18 +580,6 @@ named constants for maintainability.
- ~vrobbler/apps/scrobbles/importers/tsv.py~ (line 55) -- ="S"= completion status
** TODO [#A] Deduplicate BGG plays before posting :boardgames:bgg:duplication:
:PROPERTIES:
:ID: e9b842bf-0049-42e7-a060-f3ebd0067d2f
:END:
*** Description
No check for existing BGG plays before posting, which can create duplicates.
Should look up past plays by =bggeek_id= first.
File: ~vrobbler/apps/boardgames/bgg.py~ (line 117)
** TODO [#B] Is there way to create unique slugs for media instances :media_types:
** TODO [#A] Update how board game scrobbles work :boardgames:
@ -607,8 +595,21 @@ The Edit log form should have from top to bottom:
- People (which should be similar to the Bird widget on BirdLocation and allow setting per user score, win true/false, rank, new true/false, seat_ordrer)
- Expansion ids (which should a multi-select widget of expansions for this game)
- Location (which should be a drop down of BoardGameLocations for this user)
** DONE [#A] Add ability to push one or sync all board game scrobbles to BGG :boardgames:
:PROPERTIES:
:ID: 1f306552-35e8-4a75-a661-b0956e8de967
:END:
*** Description
We have a half-baked BGG sync module. I don't even know it if works. Can we
clean it up, add some tests and then add UI features to either sync a single
board game scrobble (via the detail page) to BGG, along with a "sync all" button
on the board game list page. Additionally, the sync should merge data between
Vrobbler and BGG based on timestamp and bgg_id. Priority should be given to data
from Vrobbler.
** DONE [#C] Clean up naming of =bgsplay= parsing :importers:refactoring:
:PROPERTIES:
:ID: c751dbbc-464a-4e63-9fe3-e034303f7b54