fix(chapter): Fixed chapter number parsing when number is after unwanted tag

This commit is contained in:
Naputt1 2024-08-16 09:21:50 +07:00 committed by Ahmad Ansori Palembani
parent b34ca34d1c
commit 4549f937f2
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6

View file

@ -37,25 +37,35 @@ object ChapterRecognition {
}
// Get chapter title with lower case
var name = chapterName.lowercase()
val cleanChapterName = chapterName.lowercase()
// Remove manga title from chapter title.
.replace(mangaTitle.lowercase(), "").trim()
// Remove comma's or hyphens.
.replace(',', '.')
.replace('-', '.')
// Remove unwanted white spaces.
.replace(unwantedWhiteSpace, "")
// Remove manga title from chapter title.
name = name.replace(mangaTitle.lowercase(), "").trim()
val numberMatch = number.findAll(cleanChapterName)
// Remove comma's or hyphens.
name = name.replace(',', '.').replace('-', '.')
when {
numberMatch.none() -> {
return chapterNumber ?: -1f
}
numberMatch.count() > 1 -> {
// Remove unwanted tags.
unwanted.replace(cleanChapterName, "").let { name ->
// Check base case ch.xx
basic.find(name)?.let { return getChapterNumberFromMatch(it) }
// Remove unwanted white spaces.
name = unwantedWhiteSpace.replace(name, "")
// need to find again first number might already removed
number.find(name)?.let { return getChapterNumberFromMatch(it) }
}
}
}
// Remove unwanted tags.
name = unwanted.replace(name, "")
basic.find(name)?.let { return getChapterNumberFromMatch(it) }
number.find(name)?.let { return getChapterNumberFromMatch(it) }
return chapterNumber ?: -1f
// return the first number encountered
return getChapterNumberFromMatch(numberMatch.first())
}
/**