瀏覽代碼

[scrobbles] Try to fix mopidy double scrobble

Colin Powell 1 年之前
父節點
當前提交
01270a9e32
共有 1 個文件被更改,包括 8 次插入2 次删除
  1. 8 2
      vrobbler/apps/scrobbles/models.py

+ 8 - 2
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