Madara - Add Ichirin No Hana Yuri / Lilly Manga (#2311)

Madara - Add Ichirin No Hana Yuri / Lilly Manga
This commit is contained in:
happywillow0 2020-02-28 14:00:48 -05:00 committed by GitHub
parent 3c2baf3525
commit 39ffa659ed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 58 additions and 50 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 = 56 extVersionCode = 57
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -5,15 +5,11 @@ import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.source.SourceFactory import eu.kanade.tachiyomi.source.SourceFactory
import eu.kanade.tachiyomi.source.model.* import eu.kanade.tachiyomi.source.model.*
import eu.kanade.tachiyomi.util.asJsoup import eu.kanade.tachiyomi.util.asJsoup
import okhttp3.OkHttpClient import okhttp3.*
import okhttp3.Request
import okhttp3.Response
import okhttp3.Headers
import okhttp3.HttpUrl
import org.jsoup.nodes.Document import org.jsoup.nodes.Document
import org.jsoup.nodes.Element import org.jsoup.nodes.Element
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Locale import java.util.*
class MadaraFactory : SourceFactory { class MadaraFactory : SourceFactory {
override fun createSources(): List<Source> = listOf( override fun createSources(): List<Source> = listOf(
@ -76,7 +72,9 @@ class MadaraFactory : SourceFactory {
ATMSubs(), ATMSubs(),
OnManga(), OnManga(),
MangaAction(), MangaAction(),
NijiTranslations() NijiTranslations(),
IchirinNoHanaYuri(),
LilyManga()
) )
} }
@ -227,6 +225,7 @@ class AllPornComic : Madara("AllPornComic", "https://allporncomic.com", "en") {
override fun headersBuilder(): Headers.Builder = Headers.Builder() override fun headersBuilder(): Headers.Builder = Headers.Builder()
.add("User-Agent", userAgent) .add("User-Agent", userAgent)
.add("Referer", "$baseUrl/manga/?m_orderby=views") .add("Referer", "$baseUrl/manga/?m_orderby=views")
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/manga/page/$page/?m_orderby=views", headers) override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/manga/page/$page/?m_orderby=views", headers)
override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/manga/page/$page/?m_orderby=latest", headers) override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/manga/page/$page/?m_orderby=latest", headers)
override fun searchMangaNextPageSelector() = "a[rel=next]" override fun searchMangaNextPageSelector() = "a[rel=next]"
@ -291,6 +290,7 @@ class DoujinHentai : Madara("DoujinHentai", "https://doujinhentai.net", "es", Si
return manga return manga
} }
override fun popularMangaNextPageSelector() = "a[rel=next]" override fun popularMangaNextPageSelector() = "a[rel=next]"
override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/lista-manga-hentai?orderby=last&page=$page", headers) override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/lista-manga-hentai?orderby=last&page=$page", headers)
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
@ -312,6 +312,7 @@ class DoujinHentai : Madara("DoujinHentai", "https://doujinhentai.net", "es", Si
} }
return GET(url.build().toString(), headers) return GET(url.build().toString(), headers)
} }
override fun searchMangaSelector() = "div.c-tabs-item__content > div.c-tabs-item__content, ${popularMangaSelector()}" override fun searchMangaSelector() = "div.c-tabs-item__content > div.c-tabs-item__content, ${popularMangaSelector()}"
override fun searchMangaFromElement(element: Element): SManga { override fun searchMangaFromElement(element: Element): SManga {
return if (element.hasAttr("href")) { return if (element.hasAttr("href")) {
@ -321,6 +322,7 @@ class DoujinHentai : Madara("DoujinHentai", "https://doujinhentai.net", "es", Si
} }
} }
override fun searchMangaNextPageSelector() = popularMangaNextPageSelector() override fun searchMangaNextPageSelector() = popularMangaNextPageSelector()
override fun chapterListSelector() = "ul.main.version-chap > li.wp-manga-chapter:not(:last-child)" // removing empty li override fun chapterListSelector() = "ul.main.version-chap > li.wp-manga-chapter:not(:last-child)" // removing empty li
override val pageListParseSelector = "div#all > img.img-responsive" override val pageListParseSelector = "div#all > img.img-responsive"
@ -328,6 +330,7 @@ class DoujinHentai : Madara("DoujinHentai", "https://doujinhentai.net", "es", Si
Filter.Header("Solo funciona si la consulta está en blanco"), Filter.Header("Solo funciona si la consulta está en blanco"),
GenreSelectFilter() GenreSelectFilter()
) )
class GenreSelectFilter : UriPartFilter("Búsqueda de género", arrayOf( class GenreSelectFilter : UriPartFilter("Búsqueda de género", arrayOf(
Pair("<seleccionar>", ""), Pair("<seleccionar>", ""),
Pair("Ecchi", "ecchi"), Pair("Ecchi", "ecchi"),
@ -411,6 +414,7 @@ class YaoiToshokan : Madara("Yaoi Toshokan", "https://www.yaoitoshokan.com.br",
override fun chapterListParse(response: Response): List<SChapter> { //Chapters are listed old to new override fun chapterListParse(response: Response): List<SChapter> { //Chapters are listed old to new
return super.chapterListParse(response).reversed() return super.chapterListParse(response).reversed()
} }
override fun pageListParse(document: Document): List<Page> { override fun pageListParse(document: Document): List<Page> {
return document.select(pageListParseSelector).mapIndexed { index, element -> return document.select(pageListParseSelector).mapIndexed { index, element ->
Page(index, "", element.select("img").attr("data-src").trim()) //had to add trim because of white space in source Page(index, "", element.select("img").attr("data-src").trim()) //had to add trim because of white space in source
@ -447,5 +451,9 @@ class OnManga: Madara("OnManga","https://onmanga.com","en")
class MangaAction : Madara("Manga Action", "https://manga-action.com", "ar", SimpleDateFormat("yyyy-MM-dd", Locale("ar"))) class MangaAction : Madara("Manga Action", "https://manga-action.com", "ar", SimpleDateFormat("yyyy-MM-dd", Locale("ar")))
class NijiTranslations: Madara("Niji Translations","https://niji-translations.com/","ar",SimpleDateFormat("MMMM dd, yyyy", Locale("ar"))) class NijiTranslations : Madara("Niji Translations", "https://niji-translations.com", "ar", SimpleDateFormat("MMMM dd, yyyy", Locale("ar")))
class IchirinNoHanaYuri : Madara("Ichirin No Hana Yuri", "https://ichirinnohanayuri.com.br", "pt-BR", SimpleDateFormat("dd/MM/yyyy", Locale("pt")))
class LilyManga: Madara("Lily Manga","https://lilymanga.com","en",SimpleDateFormat("yyyy-MM-dd", Locale.US))