From 322cfa9bde6c1dce915a82e7977a781454394c30 Mon Sep 17 00:00:00 2001 From: erri120 Date: Mon, 25 Apr 2022 18:55:57 +0200 Subject: [PATCH] Madara: add override to specify custom chapter date selector (#11604) * Madara: add override function to specify custom chapter date selector * manhwa18cc: fix date parsing - change chapter date selector to "span.chapter-time" - change date format to "dd MMM yyyy" (eg: "25 Apr 2022") * Madara: update extensions version - madara: 20->21 - manhwa18.cc: 1->2 * Update multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/Madara.kt Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com> * Madara: revert version change * manhwa18.cc: fix imports Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com> --- .../overrides/madara/manhwa18cc/src/Manhwa18CcFactory.kt | 6 +++++- .../main/java/eu/kanade/tachiyomi/multisrc/madara/Madara.kt | 4 +++- .../eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/multisrc/overrides/madara/manhwa18cc/src/Manhwa18CcFactory.kt b/multisrc/overrides/madara/manhwa18cc/src/Manhwa18CcFactory.kt index 1812c79c1..f711d2e0d 100644 --- a/multisrc/overrides/madara/manhwa18cc/src/Manhwa18CcFactory.kt +++ b/multisrc/overrides/madara/manhwa18cc/src/Manhwa18CcFactory.kt @@ -9,6 +9,8 @@ import eu.kanade.tachiyomi.source.model.Page import okhttp3.Request import org.jsoup.nodes.Document import org.jsoup.nodes.Element +import java.text.SimpleDateFormat +import java.util.Locale class Manhwa18CcFactory : SourceFactory { override fun createSources(): List = listOf( @@ -30,7 +32,7 @@ abstract class Manhwa18Cc( override val name: String, override val baseUrl: String, lang: String -) : Madara(name, baseUrl, lang) { +) : Madara(name, baseUrl, lang, SimpleDateFormat("dd MMM yyyy", Locale.US)) { override val useLoadMoreSearch = false override val fetchGenres = false @@ -66,6 +68,8 @@ abstract class Manhwa18Cc( override fun chapterListSelector() = "li.wleft" + override fun chapterDateSelector() = "span.chapter-time" + override val pageListParseSelector = "div.read-content img" override fun pageListParse(document: Document): List { diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/Madara.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/Madara.kt index 79afa60a3..f68920e08 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/Madara.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/Madara.kt @@ -792,6 +792,8 @@ abstract class Madara( override fun chapterListSelector() = "li.wp-manga-chapter" + protected open fun chapterDateSelector() = "span.chapter-release-date" + open val chapterUrlSelector = "a" open val chapterUrlSuffix = "?style=list" @@ -810,7 +812,7 @@ abstract class Madara( // Added "title" alternative chapter.date_upload = select("img:not(.thumb)").firstOrNull()?.attr("alt")?.let { parseRelativeDate(it) } ?: select("span a").firstOrNull()?.attr("title")?.let { parseRelativeDate(it) } - ?: parseChapterDate(select("span.chapter-release-date").firstOrNull()?.text()) + ?: parseChapterDate(select(chapterDateSelector()).firstOrNull()?.text()) } return chapter 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 287f8aa9a..0f6b2ac4a 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 @@ -15,7 +15,7 @@ class MadaraGenerator : ThemeSourceGenerator { override val sources = listOf( MultiLang("Leviatan Scans", "https://leviatanscans.com", listOf("en", "es"), className = "LeviatanScansFactory", overrideVersionCode = 9), MultiLang("MangaForFree.net", "https://mangaforfree.net", listOf("en", "ko", "all"), isNsfw = true, className = "MangaForFreeFactory", pkgName = "mangaforfree", overrideVersionCode = 1), - MultiLang("Manhwa18.cc", "https://manhwa18.cc", listOf("en", "ko", "all"), isNsfw = true, className = "Manhwa18CcFactory", pkgName = "manhwa18cc", overrideVersionCode = 1), + MultiLang("Manhwa18.cc", "https://manhwa18.cc", listOf("en", "ko", "all"), isNsfw = true, className = "Manhwa18CcFactory", pkgName = "manhwa18cc", overrideVersionCode = 2), MultiLang("Reaper Scans", "https://reaperscans.com", listOf("en", "pt-BR", "fr", "id", "tr"), className = "ReaperScansFactory", pkgName = "reaperscans", overrideVersionCode = 5), MultiLang("Seven King Scanlation", "https://sksubs.net", listOf("es", "en"), isNsfw = true), MultiLang("YugenMangas", "https://yugenmangas.com", listOf("es", "pt-BR"), overrideVersionCode = 2),