From 69bdc60087d9398fff2c71a18ee14d5fa6dc7d53 Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Sun, 12 Mar 2023 14:06:39 -0400 Subject: [PATCH] Fix scrobbling videos --- vrobbler/apps/scrobbles/scrobblers.py | 5 ++++- vrobbler/apps/scrobbles/utils.py | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/vrobbler/apps/scrobbles/scrobblers.py b/vrobbler/apps/scrobbles/scrobblers.py index 0641a45..521ecbf 100644 --- a/vrobbler/apps/scrobbles/scrobblers.py +++ b/vrobbler/apps/scrobbles/scrobblers.py @@ -102,10 +102,13 @@ def build_scrobble_dict(data_dict: dict, user_id: int) -> dict: elif data_dict.get("NotificationType") == "PlaybackStop": jellyfin_status = "stopped" + playback_seconds = convert_to_seconds( + data_dict.get("PlaybackPosition", "") + ) return { "user_id": user_id, "timestamp": parse(data_dict.get("UtcTimestamp")), - "playback_position_seconds": data_dict.get("PlaybackPosition", ""), + "playback_position_seconds": playback_seconds, "source": data_dict.get("ClientName", "Vrobbler"), "source_id": data_dict.get("MediaSourceId"), "jellyfin_status": jellyfin_status, diff --git a/vrobbler/apps/scrobbles/utils.py b/vrobbler/apps/scrobbles/utils.py index 5f7a60c..9489bbe 100644 --- a/vrobbler/apps/scrobbles/utils.py +++ b/vrobbler/apps/scrobbles/utils.py @@ -20,13 +20,14 @@ def convert_to_seconds(run_time: str) -> int: This is actually deprecated, as we now convert to seconds before saving. But for older videos, we'll leave this here. """ + run_time_int = 0 if ":" in str(run_time): run_time_list = run_time.split(":") hours = int(run_time_list[0]) minutes = int(run_time_list[1]) seconds = int(run_time_list[2]) - run_time = (((hours * 60) + minutes) * 60) + seconds - return int(run_time) + run_time_int = int((((hours * 60) + minutes) * 60) + seconds) + return run_time_int def parse_mopidy_uri(uri: str) -> dict: