浏览代码

Fix bug where title not found

Colin Powell 4 周之前
父节点
当前提交
e755dc6641
共有 2 个文件被更改,包括 16 次插入3 次删除
  1. 4 1
      vrobbler/apps/books/utils.py
  2. 12 2
      vrobbler/apps/scrobbles/scrobblers.py

+ 4 - 1
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 = ""

+ 12 - 2
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