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