[books] Fix comic scrobbles overrwriting one another

This commit is contained in:
2025-10-20 17:15:54 -04:00
parent e755dc6641
commit 9277db97e5
2 changed files with 4 additions and 4 deletions

View File

@ -991,7 +991,7 @@ class Scrobble(TimeStampedModel):
@property
def can_be_updated(self) -> bool:
if self.media_obj.__class__.__name__ in LONG_PLAY_MEDIA.values():
if self.media_obj.__class__.__name__ in LONG_PLAY_MEDIA.values() and self.source != "readcomicsonline.ru":
logger.info(
"[scrobbling] cannot be updated, long play media",
extra={
@ -1172,7 +1172,7 @@ class Scrobble(TimeStampedModel):
# If it's marked as stopped, send it through our update mechanism, which will complete it
if scrobble and (
scrobble.can_be_updated
or read_log_page
or (read_log_page and scrobble.can_be_updated)
or scrobble_data["playback_status"] == "stopped"
):
if read_log_page:
@ -1496,7 +1496,7 @@ class Scrobble(TimeStampedModel):
# --- Sort safely by numeric page_number ---
def safe_page_number(entry):
try:
return int(entry.get("page_number", 0))
return int(getattr("page_number", entry), 0)
except (ValueError, TypeError):
return float("inf") # push invalid entries to the end

View File

@ -625,7 +625,7 @@ def scrobble_start(request, uuid):
if (
user.profile.redirect_to_webpage
and media_obj.__class__.__name__ == Scrobble.MediaType.WEBPAGE
and (media_obj.__class__.__name__ == Scrobble.MediaType.WEBPAGE or media_obj.__class__.__name__ == Scrobble.MediaType.BOOK)
):
logger.info(f"Redirecting to {media_obj} detail page")
return HttpResponseRedirect(media_obj.url)