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 // 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. val numberMatch = number.findAll(cleanChapterName)
name = name.replace(mangaTitle.lowercase(), "").trim()
// Remove comma's or hyphens. when {
name = name.replace(',', '.').replace('-', '.') 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. // need to find again first number might already removed
name = unwantedWhiteSpace.replace(name, "") number.find(name)?.let { return getChapterNumberFromMatch(it) }
}
}
}
// Remove unwanted tags. // return the first number encountered
name = unwanted.replace(name, "") return getChapterNumberFromMatch(numberMatch.first())
basic.find(name)?.let { return getChapterNumberFromMatch(it) }
number.find(name)?.let { return getChapterNumberFromMatch(it) }
return chapterNumber ?: -1f
} }
/** /**