[mangadex] Consider chapters with empty titles as Oneshots (#684)

[mangadex] Consider chapters with empty titles as Oneshots
This commit is contained in:
Ken Swenson 2018-12-26 09:19:06 -05:00 committed by Carlos
parent 95ec0851e6
commit 4d6ffb24c8
2 changed files with 11 additions and 2 deletions

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: MangaDex'
pkgNameSuffix = 'all.mangadex'
extClass = '.MangadexFactory'
extVersionCode = 42
extVersionCode = 43
libVersion = '1.2'
}

View File

@ -278,7 +278,7 @@ open class Mangadex(override val lang: String, private val internalLang: String,
val finalChapterNumber = getFinalChapter(mangaJson)
if ((status == 2 || status == 3) && chapterJson != null && isMangaCompleted(finalChapterNumber, chapterJson)) {
manga.status = SManga.COMPLETED
} else if (status == 2 && chapterJson.takeIf { it.size() > 0 }?.get(chapterJson.keys().elementAt(0))?.obj?.get("title")?.string?.trim() == "Oneshot"){
} else if (status == 2 && isOneshot(chapterJson)){
manga.status = SManga.COMPLETED
} else {
manga.status = parseStatus(status)
@ -319,6 +319,15 @@ open class Mangadex(override val lang: String, private val internalLang: String,
private fun getFinalChapter(jsonObj: JsonObject): String = jsonObj.get("last_chapter").string.trim()
private fun isOneshot(chapterJson: JsonObject): Boolean {
val chapter = chapterJson.takeIf { it.size() > 0 }?.get(chapterJson.keys().elementAt(0))?.obj?.get("title")?.string
return if (chapter != null) {
chapter == "Oneshot" || chapter.isEmpty()
} else {
false
}
}
private fun isMangaCompleted(finalChapterNumber: String, chapterJson: JsonObject): Boolean {
val count = chapterJson.entrySet()
.filter { it -> it.value.asJsonObject.get("lang_code").string == internalLang }