Madara: Added Multiple Sources (#1284)

Madara: Added Multiple Sources
This commit is contained in:
Vesnyx 2019-07-13 13:36:25 +00:00 committed by Eugene
parent 07334dd3ec
commit becbf4b442
3 changed files with 39 additions and 5 deletions

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Madara' appName = 'Tachiyomi: Madara'
pkgNameSuffix = "all.madara" pkgNameSuffix = "all.madara"
extClass = '.MadaraFactory' extClass = '.MadaraFactory'
extVersionCode = 3 extVersionCode = 4
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -62,7 +62,7 @@ open class Madara(
return POST("$baseUrl/wp-admin/admin-ajax.php", headers, form.build(), CacheControl.FORCE_NETWORK) return POST("$baseUrl/wp-admin/admin-ajax.php", headers, form.build(), CacheControl.FORCE_NETWORK)
} }
override fun popularMangaNextPageSelector(): String? = "body:not(:has(.no-posts))" override fun popularMangaNextPageSelector(): String? = searchMangaNextPageSelector()
// Latest Updates // Latest Updates
@ -91,7 +91,7 @@ open class Madara(
return POST("$baseUrl/wp-admin/admin-ajax.php", headers, form.build(), CacheControl.FORCE_NETWORK) return POST("$baseUrl/wp-admin/admin-ajax.php", headers, form.build(), CacheControl.FORCE_NETWORK)
} }
override fun latestUpdatesNextPageSelector(): String? = "body:not(:has(.no-posts))" override fun latestUpdatesNextPageSelector(): String? = searchMangaNextPageSelector()
override fun latestUpdatesParse(response: Response): MangasPage { override fun latestUpdatesParse(response: Response): MangasPage {
val mp = super.latestUpdatesParse(response) val mp = super.latestUpdatesParse(response)
@ -135,7 +135,7 @@ open class Madara(
return manga return manga
} }
override fun searchMangaNextPageSelector() = popularMangaNextPageSelector() override fun searchMangaNextPageSelector() = "body:not(:has(.no-posts))"
// Manga Details Parse // Manga Details Parse
@ -164,6 +164,7 @@ open class Madara(
manga.status = when(it.text()) { manga.status = when(it.text()) {
// I don't know what's the corresponding for COMPLETED and LICENSED // I don't know what's the corresponding for COMPLETED and LICENSED
// There's no support for "Canceled" or "On Hold" // There's no support for "Canceled" or "On Hold"
"Completed" -> SManga.COMPLETED
"OnGoing", "Продолжается", "Updating" -> SManga.ONGOING "OnGoing", "Продолжается", "Updating" -> SManga.ONGOING
else -> SManga.UNKNOWN else -> SManga.UNKNOWN
} }

View File

@ -6,8 +6,13 @@ import eu.kanade.tachiyomi.source.SourceFactory
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.* import java.util.*
import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.CacheControl
import okhttp3.FormBody
import okhttp3.Request import okhttp3.Request
import org.jsoup.nodes.Element
class MadaraFactory : SourceFactory { class MadaraFactory : SourceFactory {
override fun createSources(): List<Source> = listOf( override fun createSources(): List<Source> = listOf(
@ -25,7 +30,18 @@ class MadaraFactory : SourceFactory {
TritiniaScans(), TritiniaScans(),
TsubakiNoScan(), TsubakiNoScan(),
YokaiJump(), YokaiJump(),
ZManga() ZManga(),
MangazukiMe(),
MangazukiOnline(),
MangazukiClubJP(),
MangazukiClubKO(),
FirstKissManga(),
Mangalike(),
MangaSY(),
ManwhaClub(),
WuxiaWorld(),
YoManga(),
ManyToon()
) )
} }
@ -51,3 +67,20 @@ class TritiniaScans : Madara("Tritinia Scans", "http://tritiniascans.ml/", "en")
class TsubakiNoScan : Madara("Tsubaki No Scan", "https://tsubakinoscan.com/", "fr", dateFormat = SimpleDateFormat("dd/MM/yy", Locale.US)) class TsubakiNoScan : Madara("Tsubaki No Scan", "https://tsubakinoscan.com/", "fr", dateFormat = SimpleDateFormat("dd/MM/yy", Locale.US))
class YokaiJump : Madara("Yokai Jump", "https://yokaijump.fr/", "fr", dateFormat = SimpleDateFormat("dd/MM/yy", Locale.US)) class YokaiJump : Madara("Yokai Jump", "https://yokaijump.fr/", "fr", dateFormat = SimpleDateFormat("dd/MM/yy", Locale.US))
class ZManga : Madara("ZManga", "https://zmanga.org/", "es") class ZManga : Madara("ZManga", "https://zmanga.org/", "es")
class MangazukiMe : Madara("Mangazuki.me", "https://mangazuki.me/", "en")
class MangazukiOnline : Madara("Mangazuki.online", "https://www.mangazuki.online/", "en")
class MangazukiClubJP : Madara("Mangazuki.club", "https://mangazuki.club/", "ja")
class MangazukiClubKO : Madara("Mangazuki.club", "https://mangazuki.club/", "ko")
class FirstKissManga : Madara("1st Kiss", "https://1stkissmanga.com/", "en")
class Mangalike : Madara("Mangalike", "https://mangalike.net/", "en")
class MangaSY : Madara("Manga SY", "https://www.mangasy.com/", "en")
class ManwhaClub : Madara("Manwha Club", "https://manhwa.club/", "en")
class WuxiaWorld : Madara("WuxiaWorld", "https://wuxiaworld.site/", "en") {
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/tag/webcomics/page/$page/?m_orderby=views", headers)
override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/tag/webcomics/page/$page/?m_orderby=latest", headers)
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request = GET("$baseUrl/?s=$query&post_type=wp-manga&genre[]=webcomics", headers)
override fun latestUpdatesNextPageSelector(): String? = "div.nav-previous"
override fun popularMangaNextPageSelector(): String? = "div.nav-previous"
}
class YoManga : Madara("Yo Manga", "https://yomanga.info/", "en")
class ManyToon : Madara("ManyToon", "https://manytoon.com/", "en")