Эх сурвалжийг харах

prefer numbers at the start of the chapter title if otherwise unparsed

Robin Appelman 9 жил өмнө
parent
commit
eee137a084

+ 13 - 0
app/src/main/java/eu/kanade/tachiyomi/util/ChapterRecognition.java

@@ -122,6 +122,19 @@ public class ChapterRecognition {
                 return;
             }
         }
+
+
+        // check for a number either at the start or right after the manga title
+        matcher = startingNumber.matcher(name);
+        if (matcher.find()) {
+            chapter.chapter_number = Float.parseFloat(matcher.group(1));
+            return;
+        }
+        matcher = startingNumber.matcher(nameWithoutManga);
+        if (matcher.find()) {
+            chapter.chapter_number = Float.parseFloat(matcher.group(1));
+            return;
+        }
     }
 
     /**

+ 9 - 0
app/src/test/java/eu/kanade/tachiyomi/ChapterRecognitionTest.java

@@ -186,4 +186,13 @@ public class ChapterRecognitionTest {
         ChapterRecognition.parseChapterNumber(c, randomManga);
         assertThat(c.chapter_number).isEqualTo(404f);
     }
+
+    @Test
+    public void testPlainNumberInTitle() {
+        Chapter c = createChapter("Kuroko no Basket 002 Monday at 840 on the Rooftop");
+        Manga manga = new Manga();
+        manga.title = "Kuroko no Basket";
+        ChapterRecognition.parseChapterNumber(c, manga);
+        assertThat(c.chapter_number).isEqualTo(2f);
+    }
 }