Compare commits

...

6 Commits

Author SHA1 Message Date
2c481bd53a [release] Bump to version 59.2
All checks were successful
ci / test (push) Successful in 2m20s
ci / build-and-deploy (push) Successful in 36s
- Fix test failure in discgolf app
2026-07-04 10:18:42 -04:00
0deb3ee634 [discgolf] Fix breaking tests 2026-07-04 10:18:17 -04:00
28a53d70eb [release] Bump to version 59.1
Some checks failed
ci / test (push) Failing after 1m50s
ci / build-and-deploy (push) Has been skipped
- Fix bug when expansions have no image
2026-07-04 10:10:22 -04:00
98d4e8bacb [boardgames] Fix bug when expansion has no image 2026-07-04 10:09:55 -04:00
8f97131b8d [release] Bump to version 59.0
All checks were successful
ci / test (push) Successful in 2m16s
ci / build-and-deploy (push) Successful in 48s
- Add BoardGameVariant model
- Lookup all Expansions for a game when creating it
- Board game expansion lookup should be async on URL scrobbles
2026-07-04 09:36:52 -04:00
7c1f709f96 [boardgames] Fix saving variants 2026-07-04 01:50:05 -04:00
5 changed files with 26 additions and 5 deletions

View File

@ -88,7 +88,7 @@ fetching and simple saving.
*** Metadata sources
**** Scraper
* Backlog [3/27] :vrobbler:project:personal:
* Backlog [0/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:
@ -619,6 +619,19 @@ The Edit log form should have from top to bottom:
- 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)
* Version 59.2 [1/1]
** DONE Fix test failure in discgolf app :discgolf:tests:
:PROPERTIES:
:ID: 813ae357-0568-5a4c-1a35-172e95d02740
:END:
* Version 59.1 [1/1]
** DONE Fix bug when expansions have no image :boardgames:bug:
:PROPERTIES:
:ID: 9fee96c9-c6a0-32d9-b6f8-212c60fc3540
:END:
* Version 59.0 [3/3]
** DONE [#A] Add BoardGameVariant model :boardgames:
:PROPERTIES:
:ID: 0ffb20d5-252f-b13d-473d-5529014602ff
@ -650,6 +663,7 @@ We should also create a managemnt script to update existing board games.
:PROPERTIES:
:ID: 968d8dde-f906-cdf0-af4e-b87ce28ddbbb
:END:
* Version 58.8 [1/1]
** DONE [#B] Clean up trend templates :trends:templates:
:PROPERTIES:

View File

@ -1,6 +1,6 @@
[tool.poetry]
name = "vrobbler"
version = "58.8"
version = "59.2"
description = ""
authors = ["Colin Powell <colin@unbl.ink>"]

View File

@ -416,11 +416,12 @@ class BoardGame(ScrobblableMixin):
categories = bgg_data.pop("categories", [])
publishers = bgg_data.pop("publishers", [])
publisher = bgg_data.pop("publisher", [])
cover_url = bgg_data.pop("cover_url")
cover_url = bgg_data.pop("cover_url") or ""
game = cls.objects.create(**bgg_data)
game.save_image_from_url(cover_url)
if cover_url:
game.save_image_from_url(cover_url)
game.cooperative = data.get("cooperative", False)
game.highest_wins = data.get("highestWins", True)
game.no_points = data.get("noPoints", False)

View File

@ -12,7 +12,10 @@ logger = logging.getLogger(__name__)
def _parse_udisc_datetime(raw: str) -> datetime:
return parse_datetime(raw)
dt = parse_datetime(raw)
if timezone.is_naive(dt):
return timezone.make_aware(dt)
return dt
def _resolve_player(name: str, user_id: int) -> Person:

View File

@ -1278,6 +1278,9 @@ class ScrobbleDetailView(DetailView):
if data.get("expansion_ids") is not None:
data["expansion_ids"] = [e.id for e in data["expansion_ids"]]
if data.get("variant_ids") is not None:
data["variant_ids"] = [v.id for v in data["variant_ids"]]
if data.get("mood_reason_ids") is not None:
data["mood_reason_ids"] = [r.id for r in data["mood_reason_ids"]]