Ooops, need to pop after updating

This commit is contained in:
2023-04-02 22:37:56 -04:00
parent 2215976571
commit f04f8b04c0
2 changed files with 8 additions and 9 deletions

View File

@ -608,12 +608,7 @@ class Scrobble(TimeStampedModel):
# but we also don't want to create new videos, so in # but we also don't want to create new videos, so in
# this special case, we allow jellyfin resumed status # this special case, we allow jellyfin resumed status
# to allow a scrobble to be updated. # to allow a scrobble to be updated.
jellyfin_in_progress = ( jellyfin_in_progress = scrobble_data.get("jellyfin_status", None)
scrobble_data.pop("jellyfin_status", None) is "resumed"
)
# We also discard mopidy_status, unused presently
scrobble_data.pop("mopidy_status", None)
if scrobble and (scrobble.can_be_updated or jellyfin_in_progress): if scrobble and (scrobble.can_be_updated or jellyfin_in_progress):
logger.info( logger.info(
f"Updating {scrobble.id}", f"Updating {scrobble.id}",
@ -621,6 +616,9 @@ class Scrobble(TimeStampedModel):
) )
return scrobble.update(scrobble_data) return scrobble.update(scrobble_data)
# Discard status before creating
scrobble_data.pop("mopidy_status", None)
scrobble_data.pop("jellyfin_status", None)
source = scrobble_data["source"] source = scrobble_data["source"]
logger.info( logger.info(
f"Creating for {media.id} - {source}", f"Creating for {media.id} - {source}",

View File

@ -79,9 +79,8 @@ def check_scrobble_for_finish(
scrobble: "Scrobble", force_to_100=False, force_finish=False scrobble: "Scrobble", force_to_100=False, force_finish=False
) -> None: ) -> None:
completion_percent = scrobble.media_obj.COMPLETION_PERCENT completion_percent = scrobble.media_obj.COMPLETION_PERCENT
# scrobble.refresh_from - db()
if scrobble.percent_played >= completion_percent or force_finish: if scrobble.percent_played >= completion_percent or force_finish:
logger.info(f"{scrobble.id} finished, updating") logger.info(f"{scrobble.id} finished at {scrobble.percent_played}")
scrobble.playback_position_seconds = ( scrobble.playback_position_seconds = (
scrobble.media_obj.run_time_seconds scrobble.media_obj.run_time_seconds
) )
@ -99,7 +98,9 @@ def check_scrobble_for_finish(
] ]
) )
else: else:
logger.info(f"{scrobble.id} not complete") logger.info(
f"{scrobble.id} not complete at {scrobble.percent_played}%"
)
def check_long_play_for_finish(scrobble): def check_long_play_for_finish(scrobble):