From 17d643f25ac5d3925db624008b991f33b35be576 Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 5 Jul 2018 09:38:43 -0400 Subject: [PATCH] mangadex: fix completed and [END] being added mistakenly on manga with only 1 chapter labelled chapter number 0 (#381) --- src/all/mangadex/build.gradle | 4 ++-- .../tachiyomi/extension/all/mangadex/Mangadex.kt | 12 +++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/all/mangadex/build.gradle b/src/all/mangadex/build.gradle index 98f259d60..fa444c21e 100644 --- a/src/all/mangadex/build.gradle +++ b/src/all/mangadex/build.gradle @@ -5,8 +5,8 @@ ext { appName = 'Tachiyomi: MangaDex' pkgNameSuffix = "all.mangadex" extClass = '.MangadexFactory' - extVersionCode = 30 - extVersionSuffix = 30 + extVersionCode = 31 + extVersionSuffix = 31 libVersion = '1.2' } diff --git a/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/Mangadex.kt b/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/Mangadex.kt index d78153b99..36a167eb0 100644 --- a/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/Mangadex.kt +++ b/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/Mangadex.kt @@ -230,11 +230,12 @@ open class Mangadex(override val lang: String, private val internalLang: String, manga.description = cleanString(mangaJson.get("description").string) manga.author = mangaJson.get("author").string manga.artist = mangaJson.get("artist").string + val status = mangaJson.get("status").int val finalChapterNumber = getFinalChapter(mangaJson) - if (json.getAsJsonObject("chapter") != null && isMangaCompleted(finalChapterNumber, json.getAsJsonObject("chapter"))) { + if (status == 2 && json.getAsJsonObject("chapter") != null && isMangaCompleted(finalChapterNumber, json.getAsJsonObject("chapter"))) { manga.status = SManga.COMPLETED } else { - manga.status = parseStatus(mangaJson.get("status").int) + manga.status = parseStatus(status) } var genres = mutableListOf() @@ -290,6 +291,7 @@ open class Mangadex(override val lang: String, private val internalLang: String, var jsonData = response.body()!!.string() val json = JsonParser().parse(jsonData).asJsonObject val mangaJson = json.getAsJsonObject("manga") + val status = mangaJson.get("status").int var finalChapterNumber = getFinalChapter(mangaJson) @@ -301,13 +303,13 @@ open class Mangadex(override val lang: String, private val internalLang: String, val chapterElement = jsonElement.asJsonObject if (chapterElement.get("lang_code").string == internalLang && (chapterElement.get("timestamp").asLong * 1000) <= now) { chapterElement.toString() - chapters.add(chapterFromJson(key, chapterElement, finalChapterNumber)) + chapters.add(chapterFromJson(key, chapterElement, finalChapterNumber, status)) } } return chapters } - private fun chapterFromJson(chapterId: String, chapterJson: JsonObject, finalChapterNumber: String): SChapter { + private fun chapterFromJson(chapterId: String, chapterJson: JsonObject, finalChapterNumber: String, status: Int): SChapter { val chapter = SChapter.create() chapter.url = BASE_CHAPTER + chapterId var chapterName = mutableListOf() @@ -324,7 +326,7 @@ open class Mangadex(override val lang: String, private val internalLang: String, } chapterName.add(chapterJson.get("title").string) } - if (doesFinalChapterExist(finalChapterNumber, chapterJson)) { + if (status == 2 && doesFinalChapterExist(finalChapterNumber, chapterJson)) { chapterName.add("[END]") }