From 6f0d4d21b8191590b501eff1333037039fbf88f9 Mon Sep 17 00:00:00 2001 From: bapeey <90949336+bapeey@users.noreply.github.com> Date: Sat, 13 Jan 2024 23:41:46 -0500 Subject: [PATCH] MNS: Fix HTTP 500 and order filter (#235) * Remove Madara sources * Fix MangasNoSekai * Revert "Remove Madara sources" This reverts commit 915cf5020a8055ab357075f8bb3377afa6c726b2. * Bump --- .../madara/mangasnosekai/src/MangasNoSekai.kt | 53 ++++++++++++++++--- .../tachiyomi/multisrc/madara/Madara.kt | 4 +- .../multisrc/madara/MadaraGenerator.kt | 2 +- 3 files changed, 50 insertions(+), 9 deletions(-) diff --git a/multisrc/overrides/madara/mangasnosekai/src/MangasNoSekai.kt b/multisrc/overrides/madara/mangasnosekai/src/MangasNoSekai.kt index 0a84b8933..f47138ab4 100644 --- a/multisrc/overrides/madara/mangasnosekai/src/MangasNoSekai.kt +++ b/multisrc/overrides/madara/mangasnosekai/src/MangasNoSekai.kt @@ -4,6 +4,7 @@ import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.interceptor.rateLimitHost import eu.kanade.tachiyomi.source.model.SManga +import okhttp3.CacheControl import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Request import org.jsoup.nodes.Document @@ -23,17 +24,47 @@ class MangasNoSekai : Madara( override val useNewChapterEndpoint = true - override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/${searchPage(page)}?s=&post_type=wp-manga&m_orderby=views", headers) + override val mangaSubString = "manganews" - override fun popularMangaSelector() = searchMangaSelector() + override fun popularMangaRequest(page: Int): Request { + return GET( + url = "$baseUrl/$mangaSubString/${searchPage(page)}?m_orderby=views", + headers = headers, + cache = CacheControl.FORCE_NETWORK, + ) + } - override fun popularMangaFromElement(element: Element) = searchMangaFromElement(element) + override fun popularMangaSelector() = "div.page-listing-item > div.row > div" - override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/${searchPage(page)}?s=&post_type=wp-manga&m_orderby=latest", headers) + override val popularMangaUrlSelector = "a[href]" - override fun latestUpdatesSelector() = searchMangaSelector() + override fun popularMangaFromElement(element: Element): SManga { + val manga = SManga.create() - override fun latestUpdatesFromElement(element: Element) = searchMangaFromElement(element) + with(element) { + select(popularMangaUrlSelector).first()?.let { + manga.setUrlWithoutDomain(it.attr("abs:href")) + } + + select("figcaption").first()?.let { + manga.title = it.text() + } + + select("img").first()?.let { + manga.thumbnail_url = imageFromElement(it) + } + } + + return manga + } + + override fun latestUpdatesRequest(page: Int): Request { + return GET( + url = "$baseUrl/$mangaSubString/${searchPage(page)}?m_orderby=latest", + headers = headers, + cache = CacheControl.FORCE_NETWORK, + ) + } override fun searchPage(page: Int): String { return if (page > 1) "page/$page/" else "" @@ -112,4 +143,14 @@ class MangasNoSekai : Madara( return manga } + + override val orderByFilterOptionsValues: Array = arrayOf( + "", + "latest2", + "alphabet", + "rating", + "trending", + "views2", + "new-manga", + ) } 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 87093b16c..e02cff685 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 @@ -285,7 +285,7 @@ abstract class Madara( else -> arrayOf("Completed", "Ongoing", "Canceled", "On Hold") } - protected val statusFilterOptionsValues: Array = arrayOf( + protected open val statusFilterOptionsValues: Array = arrayOf( "end", "on-going", "canceled", @@ -318,7 +318,7 @@ abstract class Madara( ) } - protected val orderByFilterOptionsValues: Array = arrayOf( + protected open val orderByFilterOptionsValues: Array = arrayOf( "", "latest", "alphabet", 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 2dba4a191..5121314e0 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 @@ -287,7 +287,7 @@ class MadaraGenerator : ThemeSourceGenerator { SingleLang("MangaRosie", "https://mangarosie.in", "en", isNsfw = true), SingleLang("MangaRuby.com", "https://mangaruby.com", "en", isNsfw = true, className = "MangaRubyCom"), SingleLang("Mangaryu", "https://mangaryu.com", "en", isNsfw = true), - SingleLang("Mangas No Sekai", "https://mangasnosekai.com", "es", overrideVersionCode = 1), + SingleLang("Mangas No Sekai", "https://mangasnosekai.com", "es", overrideVersionCode = 2), SingleLang("Mangas Origines", "https://mangas-origines.xyz", "fr", isNsfw = true, overrideVersionCode = 4), SingleLang("Mangas-Origines.fr", "https://mangas-origines.fr", "fr", className = "MangasOriginesFr"), SingleLang("MangaSco", "https://manhwasco.net", "en", overrideVersionCode = 2),