[scrobblers] Add mopidy source to scrobbler
This commit is contained in:
@ -53,6 +53,7 @@ class ScrobblableMixin(TimeStampedModel):
|
||||
source: str = "Vrobbler",
|
||||
playback_position_seconds: int = 0,
|
||||
status: str = "started",
|
||||
log: Optional[dict] = None,
|
||||
):
|
||||
Scrobble = apps.get_model("scrobbles", "Scrobble")
|
||||
scrobble_data = {
|
||||
@ -61,6 +62,7 @@ class ScrobblableMixin(TimeStampedModel):
|
||||
"source": source,
|
||||
"playback_position_seconds": playback_position_seconds,
|
||||
"status": status,
|
||||
"log": log,
|
||||
}
|
||||
|
||||
logger.info(
|
||||
|
||||
@ -976,6 +976,8 @@ class Scrobble(TimeStampedModel):
|
||||
scrobble.can_be_updated
|
||||
or scrobble_data["playback_status"] == "stopped"
|
||||
):
|
||||
if "log" in scrobble_data.keys():
|
||||
scrobble_data["log"] = scrobble.log | scrobble_data["log"]
|
||||
return scrobble.update(scrobble_data)
|
||||
|
||||
# Discard status before creating
|
||||
|
||||
@ -53,6 +53,12 @@ def mopidy_scrobble_media(post_data: dict, user_id: int) -> Scrobble:
|
||||
else:
|
||||
media_obj = get_or_create_track(post_data, MOPIDY_POST_KEYS)
|
||||
|
||||
log = {}
|
||||
try:
|
||||
log = {"mopidy_source": post_data.get("mopidy_ur").split(":")[0]}
|
||||
except IndexError:
|
||||
pass
|
||||
|
||||
return media_obj.scrobble_for_user(
|
||||
user_id,
|
||||
source="Mopidy",
|
||||
@ -61,6 +67,7 @@ def mopidy_scrobble_media(post_data: dict, user_id: int) -> Scrobble:
|
||||
/ 1000
|
||||
),
|
||||
status=post_data.get(MOPIDY_POST_KEYS.get("STATUS"), ""),
|
||||
log=log,
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user