From 3b91d66b9b173bb97fa8847431c2737f1b7673f6 Mon Sep 17 00:00:00 2001 From: Alexander Chernov <alexander@chernov.it> Date: Wed, 12 Jul 2023 00:21:55 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20uri=20must=20not=20be=20null=20on=20mmsc?= =?UTF-8?q?ans,=20switched=20to=20ajax=20loading,=20fix=204=E2=80=A6=20(#1?= =?UTF-8?q?7076)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: uri must not be null on mmscans, switched to ajax loading, fix 404 on the last page * Update multisrc/overrides/madara/mmscans/src/MMScans.kt Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com> * mmscans: renamed some func --------- Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com> --- .../overrides/madara/mmscans/src/MMScans.kt | 45 ++++++++++++++++++- .../multisrc/madara/MadaraGenerator.kt | 2 +- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/multisrc/overrides/madara/mmscans/src/MMScans.kt b/multisrc/overrides/madara/mmscans/src/MMScans.kt index db859e4ba..f67b227f9 100644 --- a/multisrc/overrides/madara/mmscans/src/MMScans.kt +++ b/multisrc/overrides/madara/mmscans/src/MMScans.kt @@ -1,8 +1,11 @@ package eu.kanade.tachiyomi.extension.en.mmscans import eu.kanade.tachiyomi.multisrc.madara.Madara +import eu.kanade.tachiyomi.network.POST import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga +import okhttp3.FormBody +import okhttp3.Request import org.jsoup.nodes.Element class MMScans : Madara("MMScans", "https://mm-scans.org", "en") { @@ -12,8 +15,48 @@ class MMScans : Madara("MMScans", "https://mm-scans.org", "en") { override val popularMangaUrlSelector = "div.item-summary a" override fun chapterListSelector() = "li.chapter-li" - override fun searchMangaSelector() = "a" + override fun searchMangaSelector() = ".search-wrap >.tab-content-wrap > a" + override fun searchMangaNextPageSelector(): String? = "body:not(:has(.no-posts))" + fun oldLoadMoreRequest(page: Int, metaKey: String): Request { + val form = FormBody.Builder() + .add("action", "madara_load_more") + .add("page", page.toString()) + .add("template", "madara-core/content/content-archive") + .add("vars[paged]", "1") + .add("vars[orderby]", "meta_value_num") + .add("vars[template]", "archive") + .add("vars[sidebar]", "right") + .add("vars[post_type]", "wp-manga") + .add("vars[post_status]", "publish") + .add("vars[meta_key]", metaKey) + .add("vars[meta_query][0][paged]", "1") + .add("vars[meta_query][0][orderby]", "meta_value_num") + .add("vars[meta_query][0][template]", "archive") + .add("vars[meta_query][0][sidebar]", "right") + .add("vars[meta_query][0][post_type]", "wp-manga") + .add("vars[meta_query][0][post_status]", "publish") + .add("vars[meta_query][0][meta_key]", metaKey) + .add("vars[meta_query][relation]", "AND") + .add("vars[manga_archives_item_layout]", "default") + .build() + + val xhrHeaders = headersBuilder() + .add("Content-Length", form.contentLength().toString()) + .add("Content-Type", form.contentType().toString()) + .add("Referer", "$baseUrl/") + .add("X-Requested-With", "XMLHttpRequest") + .build() + + return POST("$baseUrl/wp-admin/admin-ajax.php", xhrHeaders, form) + } + + override fun popularMangaRequest(page: Int): Request { + return oldLoadMoreRequest(page - 1, "_wp_manga_views") + } + override fun latestUpdatesRequest(page: Int): Request { + return oldLoadMoreRequest(page - 1, "_latest_update") + } override fun popularMangaFromElement(element: Element): SManga { val manga = SManga.create() 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 7e1386364..a20595c0c 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 @@ -310,7 +310,7 @@ class MadaraGenerator : ThemeSourceGenerator { SingleLang("MiniTwo Scan", "https://minitwoscan.com", "pt-BR"), SingleLang("Mirad Scanlator", "https://miradscanlator.site", "pt-BR", overrideVersionCode = 1), SingleLang("Mixed Manga", "https://mixedmanga.com", "en", overrideVersionCode = 1), - SingleLang("MMScans", "https://mm-scans.org", "en", overrideVersionCode = 5), + SingleLang("MMScans", "https://mm-scans.org", "en", overrideVersionCode = 6), SingleLang("Momo no Hana Scan", "https://momonohanascan.com", "pt-BR", className = "MomoNoHanaScan", overrideVersionCode = 1), SingleLang("MonarcaManga", "https://monarcamanga.com", "es"), SingleLang("MoonLovers Scan", "https://moonloversscan.com.br", "pt-BR", isNsfw = true),