Fix double scrobbling for real
This commit is contained in:
@ -246,6 +246,8 @@ class Scrobble(TimeStampedModel):
|
||||
scrobble_status = scrobble_data.pop('mopidy_status', None)
|
||||
if not scrobble_status:
|
||||
scrobble_status = scrobble_data.pop('jellyfin_status', None)
|
||||
if not scrobble_status:
|
||||
scrobble_status = "resumed"
|
||||
|
||||
logger.debug(f"Scrobbling to {scrobble} with status {scrobble_status}")
|
||||
scrobble.update_ticks(scrobble_data)
|
||||
@ -285,7 +287,7 @@ class Scrobble(TimeStampedModel):
|
||||
check_scrobble_for_finish(self)
|
||||
|
||||
def pause(self) -> None:
|
||||
if self.is_paused and not self.played_to_completion:
|
||||
if self.is_paused:
|
||||
logger.warning("Scrobble already paused")
|
||||
return
|
||||
self.is_paused = True
|
||||
@ -293,15 +295,10 @@ class Scrobble(TimeStampedModel):
|
||||
check_scrobble_for_finish(self)
|
||||
|
||||
def resume(self) -> None:
|
||||
if self.is_paused or not self.played_to_completion:
|
||||
if self.is_paused or not self.in_progress:
|
||||
self.is_paused = False
|
||||
self.in_progress = True
|
||||
return self.save(
|
||||
update_fields=[
|
||||
"is_paused",
|
||||
"in_progress",
|
||||
]
|
||||
)
|
||||
return self.save(update_fields=["is_paused", "in_progress"])
|
||||
|
||||
def update_ticks(self, data) -> None:
|
||||
self.playback_position_ticks = data.get("playback_position_ticks")
|
||||
|
||||
Reference in New Issue
Block a user