Save playback position on manual scrobbles
This commit is contained in:
@ -707,11 +707,17 @@ class Scrobble(TimeStampedModel):
|
|||||||
if force_finish:
|
if force_finish:
|
||||||
self.played_to_completion = True
|
self.played_to_completion = True
|
||||||
self.in_progress = False
|
self.in_progress = False
|
||||||
|
if not self.playback_position_seconds:
|
||||||
|
self.playback_position_seconds = int(
|
||||||
|
(self.stop_timestamp - self.timestamp).total_seconds()
|
||||||
|
)
|
||||||
|
|
||||||
self.save(
|
self.save(
|
||||||
update_fields=[
|
update_fields=[
|
||||||
"in_progress",
|
"in_progress",
|
||||||
"played_to_completion",
|
"played_to_completion",
|
||||||
"stop_timestamp",
|
"stop_timestamp",
|
||||||
|
"playback_position_seconds",
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
logger.info(f"stopping {self.id} from {self.source}")
|
logger.info(f"stopping {self.id} from {self.source}")
|
||||||
@ -719,7 +725,6 @@ class Scrobble(TimeStampedModel):
|
|||||||
class_name = self.media_obj.__class__.__name__
|
class_name = self.media_obj.__class__.__name__
|
||||||
if class_name in LONG_PLAY_MEDIA.values():
|
if class_name in LONG_PLAY_MEDIA.values():
|
||||||
check_long_play_for_finish(self)
|
check_long_play_for_finish(self)
|
||||||
return
|
|
||||||
|
|
||||||
def pause(self) -> None:
|
def pause(self) -> None:
|
||||||
if self.is_paused:
|
if self.is_paused:
|
||||||
|
|||||||
Reference in New Issue
Block a user