[discgolf] Add new scrobble type
Some checks failed
build / test (push) Has been cancelled

This commit is contained in:
2026-06-20 00:37:18 -04:00
parent 31888a85cb
commit 1f5fada8b1
31 changed files with 922 additions and 5 deletions

View File

@ -13,6 +13,7 @@ from books.models import Book, BookLogData, BookPageLogData
from books.utils import parse_readcomicsonline_uri
from bricksets.models import BrickSet
from dateutil.parser import parse
from discgolf.models import DiscGolfCourse
from django.utils import timezone
from foods.models import Food
from foods.sources.rscraper import RecipeScraperService
@ -1327,3 +1328,32 @@ def manual_scrobble_food(
)
return Scrobble.create_or_update(food, user_id, scrobble_dict)
def manual_scrobble_discgolf(
item_id: str,
user_id: int,
source: str = "Vrobbler",
action: Optional[str] = None,
):
from discgolf.models import DiscGolfCourse
course, _ = DiscGolfCourse.objects.get_or_create(title=item_id.strip())
scrobble_dict = {
"user_id": user_id,
"timestamp": timezone.now(),
"playback_position_seconds": 0,
"source": source,
}
logger.info(
"[scrobblers] manual disc golf scrobble request received",
extra={
"course_id": course.id,
"user_id": user_id,
"scrobble_dict": scrobble_dict,
},
)
return Scrobble.create_or_update(course, user_id, scrobble_dict)