From e755dc6641d0ddd9b1d59572b8b21c15a1d2b7b9 Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Mon, 20 Oct 2025 17:02:52 -0400 Subject: [PATCH] Fix bug where title not found --- vrobbler/apps/books/utils.py | 5 ++++- vrobbler/apps/scrobbles/scrobblers.py | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/vrobbler/apps/books/utils.py b/vrobbler/apps/books/utils.py index 1199fc0..6912653 100644 --- a/vrobbler/apps/books/utils.py +++ b/vrobbler/apps/books/utils.py @@ -1,7 +1,10 @@ from titlecase import titlecase def parse_readcomicsonline_uri(uri: str) -> tuple: - path = uri.split("comic/")[1] + try: + path = uri.split("comic/")[1] + except IndexError: + return "", "", "" parts = path.split('/') title = "" diff --git a/vrobbler/apps/scrobbles/scrobblers.py b/vrobbler/apps/scrobbles/scrobblers.py index d5ac72e..362f1a1 100644 --- a/vrobbler/apps/scrobbles/scrobblers.py +++ b/vrobbler/apps/scrobbles/scrobblers.py @@ -263,15 +263,25 @@ def manual_scrobble_book( if READCOMICSONLINE_URL in title: title, volume, page = parse_readcomicsonline_uri(title) + if not title: + logger.info( + "[scrobblers] manual book scrobble request failed", + extra={ + "title": title, + "user_id": user_id, + "media_type": Scrobble.MediaType.BOOK, + }, + ) + return + title = f"{title} - Issue {volume}" if not page: page = 1 - log = BookLogData(page_data=BookPageLogData(page_number=page, start_ts=int(timezone.now().timestamp()))) logger.info("[scrobblers] Book page included in scrobble, should update!") - source = READCOMICSONLINE_URL + source = READCOMICSONLINE_URL.replace("https://", "") # TODO: Check for scrobble of this book already and if so, update the page count