From 0a9a074d9ee60af5bf8c11a6cbad4f2731e5ee77 Mon Sep 17 00:00:00 2001 From: scb261 <65343233+scb261@users.noreply.github.com> Date: Tue, 14 Sep 2021 18:06:22 +0300 Subject: [PATCH] ManhuaES: Filter out ghost chapters (#9055) * ManhuaES: Filter out ghost chapters * Refactor --- .../overrides/madara/manhuaes/src/ManhuaES.kt | 25 +++++++++++++++++++ .../multisrc/madara/MadaraGenerator.kt | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/multisrc/overrides/madara/manhuaes/src/ManhuaES.kt b/multisrc/overrides/madara/manhuaes/src/ManhuaES.kt index 841d0c648..d2b05d6fb 100644 --- a/multisrc/overrides/madara/manhuaes/src/ManhuaES.kt +++ b/multisrc/overrides/madara/manhuaes/src/ManhuaES.kt @@ -1,7 +1,32 @@ package eu.kanade.tachiyomi.extension.en.manhuaes import eu.kanade.tachiyomi.multisrc.madara.Madara +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.source.model.SChapter +import eu.kanade.tachiyomi.util.asJsoup +import okhttp3.Response class ManhuaES : Madara("Manhua ES", "https://manhuaes.com", "en") { override val pageListParseSelector = ".reading-content div.text-left :has(>img)" + + override fun chapterListParse(response: Response): List { + var chapterList = super.chapterListParse(response) + + // the site adds a ghost chapter for some entries + chapterList.firstOrNull()?.let { + if (!isReleasedChapter(it)) { + chapterList = chapterList.subList(1, chapterList.size) + } + } + + return chapterList + } + + private fun isReleasedChapter(chapter: SChapter): Boolean { + val document = client.newCall( + GET(chapter.url, headersBuilder().build()) + ).execute().asJsoup() + + return document.select(pageListParseSelector).isNotEmpty() + } } diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt index a2d35a6b4..9b05a23d9 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt @@ -248,7 +248,7 @@ class MadaraGenerator : ThemeSourceGenerator { SingleLang("Mangazuki.me", "https://mangazuki.me", "en", className = "MangazukiMe", overrideVersionCode = 1), SingleLang("Mangceh", "https://mangceh.me", "id", isNsfw = true, overrideVersionCode = 2), SingleLang("Manhua Dragon", "https://manhuadragon.com", "en"), - SingleLang("Manhua ES", "https://manhuaes.com", "en", overrideVersionCode = 4), + SingleLang("Manhua ES", "https://manhuaes.com", "en", overrideVersionCode = 5), SingleLang("Manhua Plus", "https://manhuaplus.com", "en", overrideVersionCode = 5), SingleLang("Manhua SY", "https://www.manhuasy.com", "en", overrideVersionCode = 1), SingleLang("ManhuaBox", "https://manhuabox.net", "en", overrideVersionCode = 2),