fallback to parsing parts to handle arc numbers

This commit is contained in:
Robin Appelman 2016-02-09 21:19:34 +01:00
parent 1611a274b9
commit bc1ddd4379
2 changed files with 20 additions and 0 deletions

View file

@ -94,6 +94,19 @@ public class ChapterRecognition {
// TODO more checks (maybe levenshtein?)
// try splitting the name in parts an pick the first valid one
String[] nameParts = chapter.name.split("-");
if (nameParts.length > 1) {
Chapter dummyChapter = Chapter.create();
for (String part : nameParts) {
dummyChapter.name = part;
parseChapterNumber(dummyChapter, manga);
if (dummyChapter.chapter_number >= 0) {
chapter.chapter_number = dummyChapter.chapter_number;
return;
}
}
}
}
/**

View file

@ -158,4 +158,11 @@ public class ChapterRecognitionTest {
ChapterRecognition.parseChapterNumber(c, randomManga);
assertThat(c.chapter_number).isEqualTo(19.2f);
}
@Test
public void testChapterWithArcNumber() {
Chapter c = createChapter("Manga title 123 - Vol 016 Arc title 002");
ChapterRecognition.parseChapterNumber(c, randomManga);
assertThat(c.chapter_number).isEqualTo(123f);
}
}