Madara - add mixedmanga, manhuasworld, araznovel (#2942)

Madara - add mixedmanga, manhuasworld, araznovel
This commit is contained in:
Mike 2020-04-30 08:11:57 -04:00 committed by GitHub
parent 318c4dbc3e
commit d99a1e3f1a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 32 deletions

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Madara (multiple sources)' appName = 'Tachiyomi: Madara (multiple sources)'
pkgNameSuffix = "all.madara" pkgNameSuffix = "all.madara"
extClass = '.MadaraFactory' extClass = '.MadaraFactory'
extVersionCode = 81 extVersionCode = 82
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -65,8 +65,7 @@ abstract class Madara(
return manga return manga
} }
override fun popularMangaRequest(page: Int): Request { open fun formBuilder(page: Int, popular: Boolean) = FormBody.Builder().apply {
val form = FormBody.Builder().apply {
add("action", "madara_load_more") add("action", "madara_load_more")
add("page", (page - 1).toString()) add("page", (page - 1).toString())
add("template", "madara-core/content/content-archive") add("template", "madara-core/content/content-archive")
@ -75,12 +74,14 @@ abstract class Madara(
add("vars[posts_per_page]", "20") add("vars[posts_per_page]", "20")
add("vars[post_type]", "wp-manga") add("vars[post_type]", "wp-manga")
add("vars[post_status]", "publish") add("vars[post_status]", "publish")
add("vars[meta_key]", "_wp_manga_views") add("vars[meta_key]", if (popular) "_wp_manga_views" else "_latest_update")
add("vars[order]", "desc") add("vars[order]", "desc")
add("vars[sidebar]", "full") add("vars[sidebar]", if (popular) "full" else "right")
add("vars[manga_archives_item_layout]", "big_thumbnail") add("vars[manga_archives_item_layout]", "big_thumbnail")
} }
return POST("$baseUrl/wp-admin/admin-ajax.php", headers, form.build(), CacheControl.FORCE_NETWORK)
override fun popularMangaRequest(page: Int): Request {
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))" override fun popularMangaNextPageSelector(): String? = "body:not(:has(.no-posts))"
@ -95,21 +96,7 @@ abstract class Madara(
} }
override fun latestUpdatesRequest(page: Int): Request { override fun latestUpdatesRequest(page: Int): Request {
val form = FormBody.Builder().apply { return POST("$baseUrl/wp-admin/admin-ajax.php", headers, formBuilder(page, false).build(), CacheControl.FORCE_NETWORK)
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)
} }
override fun latestUpdatesNextPageSelector(): String? = popularMangaNextPageSelector() override fun latestUpdatesNextPageSelector(): String? = popularMangaNextPageSelector()

View File

@ -12,6 +12,7 @@ import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.util.asJsoup import eu.kanade.tachiyomi.util.asJsoup
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Locale import java.util.Locale
import okhttp3.FormBody
import okhttp3.Headers import okhttp3.Headers
import okhttp3.HttpUrl import okhttp3.HttpUrl
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
@ -108,7 +109,10 @@ class MadaraFactory : SourceFactory {
MangaWT(), MangaWT(),
DecadenceScans(), DecadenceScans(),
MangaStein(), 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 MangaStein : Madara("MangaStein", "https://mangastein.com", "tr")
class MangaRockTeam : Madara("Manga Rock Team", "https://mangarockteam.com", "en") 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")
}