fix: uri must not be null on mmscans, switched to ajax loading, fix 4… (#17076)

* 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>
This commit is contained in:
Alexander Chernov 2023-07-12 00:21:55 +01:00 committed by GitHub
parent 20823f4b55
commit 3b91d66b9b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 45 additions and 2 deletions

View File

@ -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()

View File

@ -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),