From d99a1e3f1ad52995aafd09716f130722b77fba03 Mon Sep 17 00:00:00 2001 From: Mike <51273546+SnakeDoc83@users.noreply.github.com> Date: Thu, 30 Apr 2020 08:11:57 -0400 Subject: [PATCH] Madara - add mixedmanga, manhuasworld, araznovel (#2942) Madara - add mixedmanga, manhuasworld, araznovel --- src/all/madara/build.gradle | 2 +- .../tachiyomi/extension/all/madara/Madara.kt | 47 +++++++------------ .../extension/all/madara/MadaraFactory.kt | 17 ++++++- 3 files changed, 34 insertions(+), 32 deletions(-) diff --git a/src/all/madara/build.gradle b/src/all/madara/build.gradle index 870da97b2..6e2662959 100644 --- a/src/all/madara/build.gradle +++ b/src/all/madara/build.gradle @@ -5,7 +5,7 @@ ext { appName = 'Tachiyomi: Madara (multiple sources)' pkgNameSuffix = "all.madara" extClass = '.MadaraFactory' - extVersionCode = 81 + extVersionCode = 82 libVersion = '1.2' } diff --git a/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/Madara.kt b/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/Madara.kt index 922a47b94..abd9caeeb 100644 --- a/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/Madara.kt +++ b/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/Madara.kt @@ -65,22 +65,23 @@ abstract class Madara( return manga } + open fun formBuilder(page: Int, popular: Boolean) = FormBody.Builder().apply { + add("action", "madara_load_more") + add("page", (page - 1).toString()) + add("template", "madara-core/content/content-archive") + add("vars[orderby]", "meta_value_num") + add("vars[paged]", "1") + add("vars[posts_per_page]", "20") + add("vars[post_type]", "wp-manga") + add("vars[post_status]", "publish") + add("vars[meta_key]", if (popular) "_wp_manga_views" else "_latest_update") + add("vars[order]", "desc") + add("vars[sidebar]", if (popular) "full" else "right") + add("vars[manga_archives_item_layout]", "big_thumbnail") + } + override fun popularMangaRequest(page: Int): Request { - val form = FormBody.Builder().apply { - add("action", "madara_load_more") - add("page", (page - 1).toString()) - add("template", "madara-core/content/content-archive") - add("vars[orderby]", "meta_value_num") - add("vars[paged]", "1") - add("vars[posts_per_page]", "20") - add("vars[post_type]", "wp-manga") - add("vars[post_status]", "publish") - add("vars[meta_key]", "_wp_manga_views") - add("vars[order]", "desc") - add("vars[sidebar]", "full") - add("vars[manga_archives_item_layout]", "big_thumbnail") - } - return POST("$baseUrl/wp-admin/admin-ajax.php", headers, form.build(), CacheControl.FORCE_NETWORK) + return POST("$baseUrl/wp-admin/admin-ajax.php", headers, formBuilder(page, true).build(), CacheControl.FORCE_NETWORK) } override fun popularMangaNextPageSelector(): String? = "body:not(:has(.no-posts))" @@ -95,21 +96,7 @@ abstract class Madara( } override fun latestUpdatesRequest(page: Int): Request { - val form = FormBody.Builder().apply { - add("action", "madara_load_more") - add("page", (page - 1).toString()) - add("template", "madara-core/content/content-archive") - add("vars[orderby]", "meta_value_num") - add("vars[paged]", "1") - add("vars[posts_per_page]", "20") - add("vars[post_type]", "wp-manga") - add("vars[post_status]", "publish") - add("vars[meta_key]", "_latest_update") - add("vars[order]", "desc") - add("vars[sidebar]", "right") - add("vars[manga_archives_item_layout]", "big_thumbnail") - } - return POST("$baseUrl/wp-admin/admin-ajax.php", headers, form.build(), CacheControl.FORCE_NETWORK) + return POST("$baseUrl/wp-admin/admin-ajax.php", headers, formBuilder(page, false).build(), CacheControl.FORCE_NETWORK) } override fun latestUpdatesNextPageSelector(): String? = popularMangaNextPageSelector() diff --git a/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/MadaraFactory.kt b/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/MadaraFactory.kt index a0b587de7..ed05d12da 100644 --- a/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/MadaraFactory.kt +++ b/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/MadaraFactory.kt @@ -12,6 +12,7 @@ import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.util.asJsoup import java.text.SimpleDateFormat import java.util.Locale +import okhttp3.FormBody import okhttp3.Headers import okhttp3.HttpUrl import okhttp3.OkHttpClient @@ -108,7 +109,10 @@ class MadaraFactory : SourceFactory { MangaWT(), DecadenceScans(), MangaStein(), - MangaRockTeam() + MangaRockTeam(), + MixedManga(), + ManhuasWorld(), + ArazNovel() ) } @@ -583,3 +587,14 @@ class DecadenceScans : Madara("Decadence Scans", "https://reader.decadencescans. class MangaStein : Madara("MangaStein", "https://mangastein.com", "tr") class MangaRockTeam : Madara("Manga Rock Team", "https://mangarockteam.com", "en") + +class MixedManga : Madara("Mixed Manga", "https://mixedmanga.com", "en") { + override fun headersBuilder(): Headers.Builder = super.headersBuilder().add("Referer", baseUrl) +} + +class ManhuasWorld : Madara("Manhuas World", "https://manhuasworld.com", "en") + +class ArazNovel : Madara("ArazNovel", "https://www.araznovel.com", "tr", SimpleDateFormat("dd/MM/yyyy", Locale.getDefault())) { + override fun formBuilder(page: Int, popular: Boolean): FormBody.Builder = super.formBuilder(page, popular) + .add("vars[meta_query][0][0][value]", "manga") +}