[mangadex] Only consider chapters without titles as oneshots if last_chapter == 0 (#717)

[mangadex] Only consider chapters without titles as oneshots if last_chapter == 0
This commit is contained in:
Ken Swenson 2019-01-12 19:38:13 -05:00 committed by Carlos
parent 0a917249f8
commit 45fece1104
2 changed files with 4 additions and 4 deletions

View File

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

View File

@ -289,7 +289,7 @@ open class Mangadex(override val lang: String, private val internalLang: String,
val finalChapterNumber = getFinalChapter(mangaJson) val finalChapterNumber = getFinalChapter(mangaJson)
if ((status == 2 || status == 3) && chapterJson != null && isMangaCompleted(finalChapterNumber, chapterJson)) { if ((status == 2 || status == 3) && chapterJson != null && isMangaCompleted(finalChapterNumber, chapterJson)) {
manga.status = SManga.COMPLETED manga.status = SManga.COMPLETED
} else if (status == 2 && isOneshot(chapterJson)){ } else if (status == 2 && isOneshot(chapterJson, finalChapterNumber)){
manga.status = SManga.COMPLETED manga.status = SManga.COMPLETED
} else { } else {
manga.status = parseStatus(status) manga.status = parseStatus(status)
@ -325,10 +325,10 @@ 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 getFinalChapter(jsonObj: JsonObject): String = jsonObj.get("last_chapter").string.trim()
private fun isOneshot(chapterJson: JsonObject): Boolean { private fun isOneshot(chapterJson: JsonObject, lastChapter: String): Boolean {
val chapter = chapterJson.takeIf { it.size() > 0 }?.get(chapterJson.keys().elementAt(0))?.obj?.get("title")?.string val chapter = chapterJson.takeIf { it.size() > 0 }?.get(chapterJson.keys().elementAt(0))?.obj?.get("title")?.string
return if (chapter != null) { return if (chapter != null) {
chapter == "Oneshot" || chapter.isEmpty() chapter == "Oneshot" || chapter.isEmpty() && lastChapter == "0"
} else { } else {
false false
} }