From 01270a9e32bbe2c40f368abcb675106c352b82c6 Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Fri, 8 Mar 2024 14:16:06 -0500 Subject: [PATCH] [scrobbles] Try to fix mopidy double scrobble --- vrobbler/apps/scrobbles/models.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/vrobbler/apps/scrobbles/models.py b/vrobbler/apps/scrobbles/models.py index 3370d6d..e4f9dc8 100644 --- a/vrobbler/apps/scrobbles/models.py +++ b/vrobbler/apps/scrobbles/models.py @@ -829,6 +829,9 @@ class Scrobble(TimeStampedModel): ) source = scrobble_data["source"] mtype = media.__class__.__name__ + playback_status = scrobble_data.get( + "mopidy_status", scrobble_data.get("jellyfin_status", None) + ) logger.info( f"[scrobbling] check for existing scrobble to update ", @@ -836,7 +839,6 @@ class Scrobble(TimeStampedModel): "scrobble_id": scrobble.id if scrobble else None, "media_type": mtype, "media_id": media.id, - "source": source, "scrobble_data": scrobble_data, "percent_played": scrobble.percent_played if scrobble @@ -854,7 +856,11 @@ class Scrobble(TimeStampedModel): ) return scrobble - if scrobble and scrobble.can_be_updated: + if ( + scrobble + and scrobble.can_be_updated + and playback_status != "stopped" + ): return scrobble.update(scrobble_data) # Discard status before creating