Fix infinite loop when no chapter number is parsed
This commit is contained in:
parent
1e81f75377
commit
57b64a412e
2 changed files with 16 additions and 6 deletions
|
@ -111,12 +111,15 @@ public class ChapterRecognition {
|
|||
}
|
||||
|
||||
// Strip anything after "part xxx" and try that
|
||||
name = pPart.matcher(name).replaceAll("$1");
|
||||
dummyChapter.name = name;
|
||||
parseChapterNumber(dummyChapter, manga);
|
||||
if (dummyChapter.chapter_number >= 0) {
|
||||
chapter.chapter_number = dummyChapter.chapter_number;
|
||||
return;
|
||||
matcher = pPart.matcher(name);
|
||||
if (matcher.find()) {
|
||||
name = pPart.matcher(name).replaceAll("$1");
|
||||
dummyChapter.name = name;
|
||||
parseChapterNumber(dummyChapter, manga);
|
||||
if (dummyChapter.chapter_number >= 0) {
|
||||
chapter.chapter_number = dummyChapter.chapter_number;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -172,4 +172,11 @@ public class ChapterRecognitionTest {
|
|||
ChapterRecognition.parseChapterNumber(c, randomManga);
|
||||
assertThat(c.chapter_number).isEqualTo(027f);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUnparsable() {
|
||||
Chapter c = createChapter("Foo");
|
||||
ChapterRecognition.parseChapterNumber(c, randomManga);
|
||||
assertThat(c.chapter_number).isEqualTo(-1f);
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue