Madara split: part 1 (#5662)
* madara 161 * 50 of madara sources * remove moved classes part 1
This commit is contained in:
Binary file not shown.
After Width: | Height: | Size: 3.0 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
Binary file not shown.
After Width: | Height: | Size: 7.5 KiB |
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
BIN
multisrc/overrides/res/madara/default/web_hi_res_512.png
Normal file
BIN
multisrc/overrides/res/madara/default/web_hi_res_512.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 74 KiB |
13
multisrc/overrides/src/madara/adonisfansub/AdonisFansub.kt
Normal file
13
multisrc/overrides/src/madara/adonisfansub/AdonisFansub.kt
Normal file
@ -0,0 +1,13 @@
|
||||
package eu.kanade.tachiyomi.extension.tr.adonisfansub
|
||||
|
||||
import eu.kanade.tachiyomi.annotations.Nsfw
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import okhttp3.Request
|
||||
|
||||
@Nsfw
|
||||
class AdonisFansub : Madara("Adonis Fansub", "https://manga.adonisfansub.com", "tr") {
|
||||
override val userAgentRandomizer = ""
|
||||
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)
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package eu.kanade.tachiyomi.extension.en.agentofchangetranslations
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.Headers
|
||||
import okhttp3.Response
|
||||
|
||||
class AgentofChangeTranslations : Madara("Agent of Change Translations", "https://aoc.moe", "en") {
|
||||
override fun headersBuilder(): Headers.Builder = super.headersBuilder().add("Referer", baseUrl)
|
||||
override fun popularMangaSelector() = "div.page-item-detail.manga:has(span.chapter)"
|
||||
override fun chapterListSelector() = "li.wp-manga-chapter:has(a)"
|
||||
|
||||
@SuppressLint("DefaultLocale")
|
||||
override fun chapterListParse(response: Response): List<SChapter> {
|
||||
return response.asJsoup().let { document ->
|
||||
document.select(chapterListSelector()).let { normalChapters ->
|
||||
if (normalChapters.isNotEmpty()) {
|
||||
normalChapters.map { chapterFromElement(it) }
|
||||
} else {
|
||||
// For their "fancy" volume/chapter lists
|
||||
document.select("div.wpb_wrapper:contains(volume) a")
|
||||
.filter { it.attr("href").contains(baseUrl) && !it.attr("href").contains("imgur") }
|
||||
.map { volumeChapter ->
|
||||
SChapter.create().apply {
|
||||
volumeChapter.attr("href").let { url ->
|
||||
name = if (url.contains("volume")) {
|
||||
val volume = url.substringAfter("volume-").substringBefore("/")
|
||||
val volChap = url.substringAfter("volume-$volume/").substringBefore("/").replace("-", " ").capitalize()
|
||||
"Volume $volume - $volChap"
|
||||
} else {
|
||||
url.substringBefore("/p").substringAfterLast("/").replace("-", " ").capitalize()
|
||||
}
|
||||
setUrlWithoutDomain(url.substringBefore("?") + "?style=list")
|
||||
}
|
||||
}
|
||||
}
|
||||
}.reversed()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
151
multisrc/overrides/src/madara/allporncomic/AllPornComic.kt
Normal file
151
multisrc/overrides/src/madara/allporncomic/AllPornComic.kt
Normal file
@ -0,0 +1,151 @@
|
||||
package eu.kanade.tachiyomi.extension.en.allporncomic
|
||||
|
||||
import eu.kanade.tachiyomi.annotations.Nsfw
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import okhttp3.Request
|
||||
|
||||
@Nsfw
|
||||
class AllPornComic : Madara("AllPornComic", "https://allporncomic.com", "en") {
|
||||
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 searchMangaNextPageSelector() = "a[rel=next]"
|
||||
override fun getGenreList() = listOf(
|
||||
Genre("3D", "3d"),
|
||||
Genre("Ahegao", "ahegao"),
|
||||
Genre("Alien Girl", "alien-girl"),
|
||||
Genre("Anal", "anal"),
|
||||
Genre("Anime", "anime"),
|
||||
Genre("Anthology", "anthology"),
|
||||
Genre("Artbook", "artbook"),
|
||||
Genre("BBW / Chubby / Fat Woman", "bbw"),
|
||||
Genre("BDSM", "bdsm"),
|
||||
Genre("Big Areolae", "big-areolae"),
|
||||
Genre("Big Ass", "big-ass"),
|
||||
Genre("Big Balls", "big-balls"),
|
||||
Genre("Big Breasts", "big-breasts"),
|
||||
Genre("Big Clit", "big-clit"),
|
||||
Genre("Big Nipples", "big-nipples"),
|
||||
Genre("Big Penis", "big-penis"),
|
||||
Genre("Bikini", "bikini"),
|
||||
Genre("Blackmail", "blackmail"),
|
||||
Genre("Blindfold", "blindfold"),
|
||||
Genre("Body Modification", "body-modification"),
|
||||
Genre("Body Swap", "body-swap"),
|
||||
Genre("Body Writing", "body-writing"),
|
||||
Genre("BodyStocking", "bodystocking"),
|
||||
Genre("Bodysuit", "bodysuit"),
|
||||
Genre("Bondage", "bondage"),
|
||||
Genre("Brain Fuck", "brain-fuck"),
|
||||
Genre("Cartoon", "cartoon"),
|
||||
Genre("Cheerleader", "cheerleader"),
|
||||
Genre("Chinese Dress", "chinese-dress"),
|
||||
Genre("Collar / Choker", "collar"),
|
||||
Genre("Comedy", "comedy"),
|
||||
Genre("Corruption", "corruption"),
|
||||
Genre("Corset", "corset"),
|
||||
Genre("Crotch Tattoo", "crotch-tattoo"),
|
||||
Genre("Dark Skin", "dark-skin"),
|
||||
Genre("Demon Girl / Succubus", "demon-girl"),
|
||||
Genre("Dick Growth", "dick-growth"),
|
||||
Genre("Dickgirl On Dickgirl", "dickgirl-on-dickgirl"),
|
||||
Genre("Dickgirl On Male", "dickgirl-on-male"),
|
||||
Genre("Dickgirls Only", "dickgirls-only"),
|
||||
Genre("Drugs", "drugs"),
|
||||
Genre("Drunk", "drunk"),
|
||||
Genre("Exhibitionism", "exhibitionism"),
|
||||
Genre("FFM Threesome", "ffm-threesome"),
|
||||
Genre("FFT Threesome", "fft-threesome"),
|
||||
Genre("Females Only", "females-only"),
|
||||
Genre("Femdom", "femdom"),
|
||||
Genre("Feminization", "feminization"),
|
||||
Genre("Full Body Tattoo", "full-body-tattoo"),
|
||||
Genre("Full Color", "full-color"),
|
||||
Genre("Futanari", "futanari"),
|
||||
Genre("Gender Bender", "gender-bender"),
|
||||
Genre("Glasses", "glasses"),
|
||||
Genre("Group", "group"),
|
||||
Genre("Gyaru", "gyaru"),
|
||||
Genre("Gyaru-OH", "gyaru-oh"),
|
||||
Genre("Harem", "harem"),
|
||||
Genre("Hentai", "hentai"),
|
||||
Genre("Human Pet", "human-pet"),
|
||||
Genre("Humiliation", "humiliation"),
|
||||
Genre("Impregnation", "impregnation"),
|
||||
Genre("Incest", "incest"),
|
||||
Genre("Interracial", "interracial"),
|
||||
Genre("Kimono", "kimono"),
|
||||
Genre("Latex", "latex"),
|
||||
Genre("Leash", "leash"),
|
||||
Genre("Lingerie", "lingerie"),
|
||||
Genre("Lolicon", "lolicon"),
|
||||
Genre("MILF", "milf"),
|
||||
Genre("MMF Threesome", "mmf-threesome"),
|
||||
Genre("MMT Threesome", "mmt-threesome"),
|
||||
Genre("Magical Girl", "magical-girl"),
|
||||
Genre("Maid", "maid"),
|
||||
Genre("Male On Dickgirl", "male-on-dickgirl"),
|
||||
Genre("Manhwa", "manhwa"),
|
||||
Genre("Military", "military"),
|
||||
Genre("Milking", "milking"),
|
||||
Genre("Mind Break", "mind-break"),
|
||||
Genre("Mind Control", "mind-control"),
|
||||
Genre("Monster Girl", "monster-girl"),
|
||||
Genre("Moral Degeneration", "moral-degeneration"),
|
||||
Genre("Muscle", "muscle"),
|
||||
Genre("Muscle Growth", "muscle-growth"),
|
||||
Genre("Nakadashi", "nakadashi"),
|
||||
Genre("Netorare", "netorare"),
|
||||
Genre("Netori", "netori"),
|
||||
Genre("Ninja", "ninja"),
|
||||
Genre("Nun", "nun"),
|
||||
Genre("Nurse", "nurse"),
|
||||
Genre("Orgy", "orgy"),
|
||||
Genre("Paizuri", "paizuri"),
|
||||
Genre("Pegging", "pegging"),
|
||||
Genre("Piercing", "piercing"),
|
||||
Genre("Pixie Cut", "pixie-cut"),
|
||||
Genre("Policewoman", "policewoman"),
|
||||
Genre("Possession", "possession"),
|
||||
Genre("Retro", "retro"),
|
||||
Genre("Ryona", "ryona"),
|
||||
Genre("School Swimsuit", "school-swimsuit"),
|
||||
Genre("Schoolboy Uniform", "schoolboy-uniform"),
|
||||
Genre("Schoolgirl Uniform", "schoolgirl-uniform"),
|
||||
Genre("Shared Senses", "shared-senses"),
|
||||
Genre("Shemale", "shemale"),
|
||||
Genre("Shibari", "shibari"),
|
||||
Genre("Shotacon", "shotacon"),
|
||||
Genre("Slave", "slave"),
|
||||
Genre("Slime Girl", "slime-girl"),
|
||||
Genre("Small Breasts", "small-breasts"),
|
||||
Genre("Stockings", "stockings"),
|
||||
Genre("Strap-on", "strap-on"),
|
||||
Genre("Stuck In Wall", "stuck-in-wall"),
|
||||
Genre("Superhero", "superhero"),
|
||||
Genre("Superheroine", "superheroine"),
|
||||
Genre("Tail", "tail"),
|
||||
Genre("Tail Plug", "tail-plug"),
|
||||
Genre("Tankoubon", "tankoubon"),
|
||||
Genre("Tentacles", "tentacles"),
|
||||
Genre("Thigh High Boots", "thigh-high-boots"),
|
||||
Genre("Tights", "tights"),
|
||||
Genre("Time Stop", "time-stop"),
|
||||
Genre("Tomboy", "tomboy"),
|
||||
Genre("Tomgirl", "tomgirl"),
|
||||
Genre("Torture", "torture"),
|
||||
Genre("Transformation", "transformation"),
|
||||
Genre("Uncensored", "uncensored"),
|
||||
Genre("Unusual Pupils", "unusual-pupils"),
|
||||
Genre("Unusual Teeth", "unusual-teeth"),
|
||||
Genre("Vampire", "vampire"),
|
||||
Genre("Virginity", "virginity"),
|
||||
Genre("Voyeurism", "voyeurism"),
|
||||
Genre("Webtoon", "webtoon"),
|
||||
Genre("Western", "western"),
|
||||
Genre("Witch", "witch"),
|
||||
Genre("Yandere", "yandere"),
|
||||
Genre("Yaoi", "yaoi"),
|
||||
Genre("Yuri", "yuri")
|
||||
)
|
||||
}
|
7
multisrc/overrides/src/madara/aloalivn/Aloalivn.kt
Normal file
7
multisrc/overrides/src/madara/aloalivn/Aloalivn.kt
Normal file
@ -0,0 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.en.aloalivn
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
|
||||
class Aloalivn : Madara("Aloalivn", "https://aloalivn.com", "en") {
|
||||
override val pageListParseSelector = "li.blocks-gallery-item"
|
||||
}
|
11
multisrc/overrides/src/madara/animangaes/AniMangaEs.kt
Normal file
11
multisrc/overrides/src/madara/animangaes/AniMangaEs.kt
Normal file
@ -0,0 +1,11 @@
|
||||
package eu.kanade.tachiyomi.extension.en.animangaes
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import okhttp3.Response
|
||||
|
||||
class AniMangaEs : Madara("AniMangaEs", "http://animangaes.com", "en") {
|
||||
override val pageListParseSelector = "div.text-left noscript"
|
||||
override val chapterUrlSuffix = ""
|
||||
override fun chapterListParse(response: Response): List<SChapter> = super.chapterListParse(response).reversed()
|
||||
}
|
7
multisrc/overrides/src/madara/apollcomics/ApollComics.kt
Normal file
7
multisrc/overrides/src/madara/apollcomics/ApollComics.kt
Normal file
@ -0,0 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.es.apollcomics
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class ApollComics : Madara("ApollComics", "https://apollcomics.xyz", "es", SimpleDateFormat("dd MMMM, yyyy", Locale("es")))
|
15
multisrc/overrides/src/madara/arangscans/ArangScans.kt
Normal file
15
multisrc/overrides/src/madara/arangscans/ArangScans.kt
Normal file
@ -0,0 +1,15 @@
|
||||
package eu.kanade.tachiyomi.extension.en.arangscans
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import okhttp3.Request
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class ArangScans : Madara("Arang Scans", "https://www.arangscans.com", "en", SimpleDateFormat("d MMM yyyy", Locale.US)) {
|
||||
// has very few manga
|
||||
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/manga?m_orderby=views", headers)
|
||||
override fun popularMangaNextPageSelector(): String? = null
|
||||
override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/manga?m_orderby=latest", headers)
|
||||
override fun latestUpdatesNextPageSelector(): String? = null
|
||||
}
|
74
multisrc/overrides/src/madara/araznovel/ArazNovel.kt
Normal file
74
multisrc/overrides/src/madara/araznovel/ArazNovel.kt
Normal file
@ -0,0 +1,74 @@
|
||||
package eu.kanade.tachiyomi.extension.tr.araznovel
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.FormBody
|
||||
import okhttp3.Response
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
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")
|
||||
|
||||
override fun getGenreList() = listOf(
|
||||
Genre("Aksiyon", "action"),
|
||||
Genre("Macera", "adventure"),
|
||||
Genre("Cartoon", "cartoon"),
|
||||
Genre("Comic", "comic"),
|
||||
Genre("Komedi", "comedy"),
|
||||
Genre("Yemek", "cooking"),
|
||||
Genre("Doujinshi", "doujinshi"),
|
||||
Genre("Dram", "drama"),
|
||||
Genre("Ecchi", "ecchi"),
|
||||
Genre("Fantastik", "fantasy"),
|
||||
Genre("Harem", "harem"),
|
||||
Genre("Tarihi", "historical"),
|
||||
Genre("Korku", "horror"),
|
||||
Genre("Manga", "manga"),
|
||||
Genre("Manhua", "manhua"),
|
||||
Genre("Manhwa", "manhwa"),
|
||||
Genre("Olgun", "mature"),
|
||||
Genre("Mecha", "mecha"),
|
||||
Genre("Yetişkin", "adult"),
|
||||
Genre("Gizem", "mystery"),
|
||||
Genre("One Shot", "one-shot"),
|
||||
Genre("Isekai", "isekai"),
|
||||
Genre("Josei", "josei"),
|
||||
Genre("Dedektif", "detective"),
|
||||
Genre("Karanlık", "smut"),
|
||||
Genre("Romantizm", "romance"),
|
||||
Genre("Okul Yaşamı", "school-life"),
|
||||
Genre("Yaşamdan Kesit", "slice-of-life"),
|
||||
Genre("Spor", "sports"),
|
||||
Genre("Doğa Üstü", "supernatural"),
|
||||
Genre("Trajedi", "tragedy"),
|
||||
Genre("Webtoon ", "webtoon"),
|
||||
Genre("Dövüş Sanatları ", "martial-arts"),
|
||||
Genre("Bilim Kurgu", "sci-fi"),
|
||||
Genre("Seinen", "seinen"),
|
||||
Genre("Shoujo", "shoujo"),
|
||||
Genre("Shoujo Ai", "shoujo-ai"),
|
||||
Genre("Shounen", "shounen"),
|
||||
Genre("Shounen Ai", "shounen-ai"),
|
||||
Genre("Soft Yaoi", "soft-yaoi"),
|
||||
Genre("Soft Yuri", "soft-yuri"),
|
||||
Genre("Yaoi", "yaoi"),
|
||||
Genre("Yuri", "yuri")
|
||||
)
|
||||
|
||||
override fun chapterListParse(response: Response): List<SChapter> {
|
||||
return getXhrChapters(response.asJsoup().select("div#manga-chapters-holder").attr("data-id")).let { document ->
|
||||
document.select("li.parent").let { elements ->
|
||||
if (!elements.isNullOrEmpty()) {
|
||||
elements.reversed()
|
||||
.map { volumeElement -> volumeElement.select(chapterListSelector()).map { chapterFromElement(it) } }
|
||||
.flatten()
|
||||
} else {
|
||||
document.select(chapterListSelector()).map { chapterFromElement(it) }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
7
multisrc/overrides/src/madara/argosscan/ArgosScan.kt
Normal file
7
multisrc/overrides/src/madara/argosscan/ArgosScan.kt
Normal file
@ -0,0 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.pt.argosscan
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class ArgosScan : Madara("Argos Scan", "https://argosscan.com", "pt-BR", SimpleDateFormat("dd 'de' MMMM 'de' yyyy", Locale("pt", "BR")))
|
20
multisrc/overrides/src/madara/astrallibrary/AstralLibrary.kt
Normal file
20
multisrc/overrides/src/madara/astrallibrary/AstralLibrary.kt
Normal file
@ -0,0 +1,20 @@
|
||||
package eu.kanade.tachiyomi.extension.en.astrallibrary
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import okhttp3.Request
|
||||
import okhttp3.Response
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class AstralLibrary : Madara("Astral Library", "https://www.astrallibrary.net", "en", SimpleDateFormat("d MMM", Locale.US)) {
|
||||
override fun chapterListParse(response: Response): List<SChapter> = super.chapterListParse(response).reversed()
|
||||
override fun popularMangaRequest(page: Int): Request {
|
||||
return GET("$baseUrl/manga-tag/manga/?m_orderby=views&page=$page", headers)
|
||||
}
|
||||
|
||||
override fun latestUpdatesRequest(page: Int): Request {
|
||||
return GET("$baseUrl/manga-tag/manga/?m_orderby=latest&page=$page", headers)
|
||||
}
|
||||
}
|
7
multisrc/overrides/src/madara/atikrost/Atikrost.kt
Normal file
7
multisrc/overrides/src/madara/atikrost/Atikrost.kt
Normal file
@ -0,0 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.tr.atikrost
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class Atikrost : Madara("Atikrost", "https://atikrost.com", "tr", SimpleDateFormat("MMMM dd, yyyy", Locale("tr")))
|
7
multisrc/overrides/src/madara/atmsubs/ATMSubs.kt
Normal file
7
multisrc/overrides/src/madara/atmsubs/ATMSubs.kt
Normal file
@ -0,0 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.fr.atmsubs
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class ATMSubs : Madara("ATM-Subs", "https://atm-subs.fr", "fr", SimpleDateFormat("d MMMM yyyy", Locale("fr")))
|
22
multisrc/overrides/src/madara/azora/Azora.kt
Normal file
22
multisrc/overrides/src/madara/azora/Azora.kt
Normal file
@ -0,0 +1,22 @@
|
||||
package eu.kanade.tachiyomi.extension.fr.atmsubs
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import okhttp3.Request
|
||||
import org.jsoup.nodes.Element
|
||||
|
||||
|
||||
class Azora : Madara("Azora", "https://www.azoramanga.com", "ar") {
|
||||
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/page/$page/?m_orderby=views", headers)
|
||||
override fun chapterListSelector() = "li.wp-manga-chapter:not(.premium-block)" // Filter fake chapters
|
||||
override fun chapterFromElement(element: Element): SChapter {
|
||||
val chapter = SChapter.create()
|
||||
|
||||
element.select("a").let {
|
||||
chapter.url = it.attr("href").substringAfter(baseUrl)
|
||||
chapter.name = it.text()
|
||||
}
|
||||
return chapter
|
||||
}
|
||||
}
|
7
multisrc/overrides/src/madara/bestmanga/BestManga.kt
Normal file
7
multisrc/overrides/src/madara/bestmanga/BestManga.kt
Normal file
@ -0,0 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.ru.bestmanga
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class BestManga : Madara("BestManga", "https://bestmanga.club", "ru", SimpleDateFormat("dd.MM.yyyy", Locale.getDefault()))
|
7
multisrc/overrides/src/madara/bestmanhua/BestManhua.kt
Normal file
7
multisrc/overrides/src/madara/bestmanhua/BestManhua.kt
Normal file
@ -0,0 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.en.bestmanhua
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
|
||||
class BestManhua : Madara("BestManhua", "https://bestmanhua.com", "en") {
|
||||
override val pageListParseSelector = "li.blocks-gallery-item"
|
||||
}
|
16
multisrc/overrides/src/madara/cattranslator/CatTranslator.kt
Normal file
16
multisrc/overrides/src/madara/cattranslator/CatTranslator.kt
Normal file
@ -0,0 +1,16 @@
|
||||
package eu.kanade.tachiyomi.extension.th.cattranslator
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.network.POST
|
||||
import okhttp3.CacheControl
|
||||
import okhttp3.Request
|
||||
|
||||
class CatTranslator : Madara("CAT-translator", "https://cat-translator.com", "th") {
|
||||
override fun popularMangaRequest(page: Int): Request =
|
||||
POST("$baseUrl/manga/wp-admin/admin-ajax.php", formHeaders, formBuilder(page, true).build(), CacheControl.FORCE_NETWORK)
|
||||
|
||||
override fun latestUpdatesRequest(page: Int): Request =
|
||||
POST("$baseUrl/manga/wp-admin/admin-ajax.php", formHeaders, formBuilder(page, false).build(), CacheControl.FORCE_NETWORK)
|
||||
|
||||
override fun searchPage(page: Int): String = "manga/page/$page/"
|
||||
}
|
7
multisrc/overrides/src/madara/chibimanga/ChibiManga.kt
Normal file
7
multisrc/overrides/src/madara/chibimanga/ChibiManga.kt
Normal file
@ -0,0 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.en.chibimanga
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class ChibiManga : Madara("Chibi Manga", "https://www.cmreader.info", "en", dateFormat = SimpleDateFormat("MMM dd, yyyy", Locale.US))
|
7
multisrc/overrides/src/madara/clovermanga/CloverManga.kt
Normal file
7
multisrc/overrides/src/madara/clovermanga/CloverManga.kt
Normal file
@ -0,0 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.en.chibimanga
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class CloverManga : Madara("Clover Manga", "Clover Manga", "tr", SimpleDateFormat("MMMM dd, yyyy", Locale("tr")))
|
7
multisrc/overrides/src/madara/comickiba/ComicKiba.kt
Normal file
7
multisrc/overrides/src/madara/comickiba/ComicKiba.kt
Normal file
@ -0,0 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.en.comickiba
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
|
||||
class ComicKiba : Madara("ComicKiba", "https://comickiba.com", "en") {
|
||||
override val pageListParseSelector = "li.blocks-gallery-item img:nth-child(1), div.reading-content p > img, .read-container .reading-content img"
|
||||
}
|
7
multisrc/overrides/src/madara/cutiepie/CutiePie.kt
Normal file
7
multisrc/overrides/src/madara/cutiepie/CutiePie.kt
Normal file
@ -0,0 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.tr.cutiepie
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class CutiePie : Madara("Cutie Pie", "https://cutiepie.ga", "tr", SimpleDateFormat("dd MMMM yyyy", Locale.forLanguageTag("tr")))
|
@ -0,0 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.tr.diamondfansub
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class DiamondFansub : Madara("DiamondFansub", "https://diamondfansub.com", "tr", SimpleDateFormat("MMMM dd, yyyy", Locale.forLanguageTag("tr")))
|
21
multisrc/overrides/src/madara/disasterscans/DisasterScans.kt
Normal file
21
multisrc/overrides/src/madara/disasterscans/DisasterScans.kt
Normal file
@ -0,0 +1,21 @@
|
||||
package eu.kanade.tachiyomi.extension.en.disasterscans
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import org.jsoup.nodes.Document
|
||||
|
||||
class DisasterScans : Madara("Disaster Scans", "https://disasterscans.com", "en") {
|
||||
override val popularMangaUrlSelector = "div.post-title a:last-child"
|
||||
|
||||
override fun mangaDetailsParse(document: Document): SManga {
|
||||
val manga = super.mangaDetailsParse(document)
|
||||
|
||||
with(document) {
|
||||
select("div.post-title h1").first()?.let {
|
||||
manga.title = it.ownText()
|
||||
}
|
||||
}
|
||||
|
||||
return manga
|
||||
}
|
||||
}
|
106
multisrc/overrides/src/madara/doujinhentai/DoujinHentai.kt
Normal file
106
multisrc/overrides/src/madara/doujinhentai/DoujinHentai.kt
Normal file
@ -0,0 +1,106 @@
|
||||
package eu.kanade.tachiyomi.extension.es.doujinhentai
|
||||
|
||||
import eu.kanade.tachiyomi.annotations.Nsfw
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.source.model.Filter
|
||||
import eu.kanade.tachiyomi.source.model.FilterList
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import okhttp3.HttpUrl
|
||||
import okhttp3.Request
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
@Nsfw
|
||||
class DoujinHentai : Madara("DoujinHentai", "https://doujinhentai.net", "es", SimpleDateFormat("d MMM. yyyy", Locale.ENGLISH)) {
|
||||
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/lista-manga-hentai?orderby=views&page=$page", headers)
|
||||
override fun popularMangaSelector() = "div.col-md-3 a"
|
||||
override fun popularMangaFromElement(element: Element): SManga {
|
||||
val manga = SManga.create()
|
||||
|
||||
manga.setUrlWithoutDomain(element.attr("href"))
|
||||
manga.title = element.select("h5").text()
|
||||
manga.thumbnail_url = element.select("img").attr("abs:data-src")
|
||||
|
||||
return manga
|
||||
}
|
||||
|
||||
override fun popularMangaNextPageSelector() = "a[rel=next]"
|
||||
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 {
|
||||
val url = HttpUrl.parse(baseUrl)!!.newBuilder()
|
||||
if (query.isNotBlank()) {
|
||||
url.addPathSegment("search")
|
||||
url.addQueryParameter("query", query) // query returns results all on one page
|
||||
} else {
|
||||
filters.forEach { filter ->
|
||||
when (filter) {
|
||||
is GenreSelectFilter -> {
|
||||
if (filter.state != 0) {
|
||||
url.addPathSegments("lista-manga-hentai/category/${filter.toUriPart()}")
|
||||
url.addQueryParameter("page", page.toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return GET(url.build().toString(), headers)
|
||||
}
|
||||
|
||||
override fun searchMangaSelector() = "div.c-tabs-item__content > div.c-tabs-item__content, ${popularMangaSelector()}"
|
||||
override fun searchMangaFromElement(element: Element): SManga {
|
||||
return if (element.hasAttr("href")) {
|
||||
popularMangaFromElement(element) // genre search results
|
||||
} else {
|
||||
super.searchMangaFromElement(element) // query search results
|
||||
}
|
||||
}
|
||||
|
||||
override fun searchMangaNextPageSelector() = popularMangaNextPageSelector()
|
||||
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 fun getFilterList() = FilterList(
|
||||
Filter.Header("Solo funciona si la consulta está en blanco"),
|
||||
GenreSelectFilter()
|
||||
)
|
||||
|
||||
class GenreSelectFilter : UriPartFilter(
|
||||
"Búsqueda de género",
|
||||
arrayOf(
|
||||
Pair("<seleccionar>", ""),
|
||||
Pair("Ecchi", "ecchi"),
|
||||
Pair("Yaoi", "yaoi"),
|
||||
Pair("Yuri", "yuri"),
|
||||
Pair("Anal", "anal"),
|
||||
Pair("Tetonas", "tetonas"),
|
||||
Pair("Escolares", "escolares"),
|
||||
Pair("Incesto", "incesto"),
|
||||
Pair("Virgenes", "virgenes"),
|
||||
Pair("Masturbacion", "masturbacion"),
|
||||
Pair("Maduras", "maduras"),
|
||||
Pair("Lolicon", "lolicon"),
|
||||
Pair("Bikini", "bikini"),
|
||||
Pair("Sirvientas", "sirvientas"),
|
||||
Pair("Enfermera", "enfermera"),
|
||||
Pair("Embarazada", "embarazada"),
|
||||
Pair("Ahegao", "ahegao"),
|
||||
Pair("Casadas", "casadas"),
|
||||
Pair("Chica Con Pene", "chica-con-pene"),
|
||||
Pair("Juguetes Sexuales", "juguetes-sexuales"),
|
||||
Pair("Orgias", "orgias"),
|
||||
Pair("Harem", "harem"),
|
||||
Pair("Romance", "romance"),
|
||||
Pair("Profesores", "profesores"),
|
||||
Pair("Tentaculos", "tentaculos"),
|
||||
Pair("Mamadas", "mamadas"),
|
||||
Pair("Shota", "shota"),
|
||||
Pair("Interracial", "interracial"),
|
||||
Pair("Full Color", "full-colo"),
|
||||
Pair("Sin Censura", "sin-censura"),
|
||||
Pair("Futanari", "futanari"),
|
||||
Pair("Doble Penetracion", "doble-penetracion"),
|
||||
Pair("Cosplay", "cosplay")
|
||||
)
|
||||
)
|
||||
}
|
96
multisrc/overrides/src/madara/doujinyosh/DoujinYosh.kt
Normal file
96
multisrc/overrides/src/madara/doujinyosh/DoujinYosh.kt
Normal file
@ -0,0 +1,96 @@
|
||||
package eu.kanade.tachiyomi.extension.id.doujinyosh
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
|
||||
class DoujinYosh : Madara("DoujinYosh", "https://doujinyosh.work", "id") {
|
||||
// source issue, doing this limits results to one page but not doing it returns no results at all
|
||||
override fun searchPage(page: Int) = ""
|
||||
override fun getGenreList() = listOf(
|
||||
Genre("4 Koma", "4koma"),
|
||||
Genre("Adult", "adult"),
|
||||
Genre("Ahegao", "ahegao"),
|
||||
Genre("Anal", "anal"),
|
||||
Genre("Animal", "animal"),
|
||||
Genre("Artist CG", "artist-cg"),
|
||||
Genre("Big Breast", "big-breast"),
|
||||
Genre("Big Penis", "big-penis"),
|
||||
Genre("Bikini", "bikini"),
|
||||
Genre("Black Mail", "black-mail"),
|
||||
Genre("Blowjob", "blowjob"),
|
||||
Genre("Body Swap", "body-swap"),
|
||||
Genre("Bondage", "bondage"),
|
||||
Genre("Cheating", "cheating"),
|
||||
Genre("Crossdressing", "crossdressing"),
|
||||
Genre("DILF", "dilf"),
|
||||
Genre("Dark Skin", "dark-skin"),
|
||||
Genre("Defloration", "defloration"),
|
||||
Genre("Demon Girl", "demon-girl"),
|
||||
Genre("Doujin", "doujin"),
|
||||
Genre("Drugs", "drugs"),
|
||||
Genre("Drunk", "drunk"),
|
||||
Genre("Elf", "elf"),
|
||||
Genre("Famele Only", "famele-only"),
|
||||
Genre("Femdom", "femdom"),
|
||||
Genre("Filming", "filming"),
|
||||
Genre("Footjob", "footjob"),
|
||||
Genre("Full Color", "full-color"),
|
||||
Genre("Furry", "furry"),
|
||||
Genre("Futanari", "futanari"),
|
||||
Genre("Glasses", "glasses"),
|
||||
Genre("Gore", "gore"),
|
||||
Genre("Group", "group"),
|
||||
Genre("Gyaru", "gyaru"),
|
||||
Genre("Harem", "harem"),
|
||||
Genre("Humiliation", "humiliation"),
|
||||
Genre("Impregnation", "impregnation"),
|
||||
Genre("Incest", "incest"),
|
||||
Genre("Inverted Nipples", "inverted-nipples"),
|
||||
Genre("Kemomimi", "kemomimi"),
|
||||
Genre("Lactation", "lactation"),
|
||||
Genre("Loli", "loli"),
|
||||
Genre("Lolipai", "lolipai"),
|
||||
Genre("MILF", "milf"),
|
||||
Genre("Maid", "maid"),
|
||||
Genre("Male Only", "male-only"),
|
||||
Genre("Miko", "miko"),
|
||||
Genre("Mind Break", "mind-break"),
|
||||
Genre("Mind Control", "mind-control"),
|
||||
Genre("Monster", "monster"),
|
||||
Genre("Monster Girl", "monster-girl"),
|
||||
Genre("Multi-Work Series", "multi-work-series"),
|
||||
Genre("Nakadashi", "nakadashi"),
|
||||
Genre("Netorare", "netorare"),
|
||||
Genre("Otona (R18)", "otona"),
|
||||
Genre("Oyakodon", "oyakodon"),
|
||||
Genre("Paizuri", "paizuri"),
|
||||
Genre("Pantyhose", "pantyhose"),
|
||||
Genre("Pregnant", "pregnant"),
|
||||
Genre("Prostitution", "prostitution"),
|
||||
Genre("Rape", "rape"),
|
||||
Genre("School Uniform", "school-uniform"),
|
||||
Genre("Sex Toy", "sex-toy"),
|
||||
Genre("Shota", "shota"),
|
||||
Genre("Sister", "sister"),
|
||||
Genre("Sleep", "sleep"),
|
||||
Genre("Slime", "slime"),
|
||||
Genre("Small Breast", "small-breast"),
|
||||
Genre("Sole Female", "sole-female"),
|
||||
Genre("Sole Male", "sole-male"),
|
||||
Genre("Stocking", "stocking"),
|
||||
Genre("Story Arc", "story-arc"),
|
||||
Genre("Sweating", "sweating"),
|
||||
Genre("Swimsuit", "swimsuit"),
|
||||
Genre("Teacher", "teacher"),
|
||||
Genre("Tentacles", "tentacles"),
|
||||
Genre("Tomboy", "tomboy"),
|
||||
Genre("Tomgirl", "tomgirl"),
|
||||
Genre("Torture", "torture"),
|
||||
Genre("Twins", "twins"),
|
||||
Genre("Virginity", "virginity"),
|
||||
Genre("Webtoon", "webtoon"),
|
||||
Genre("XRay", "xray"),
|
||||
Genre("Yandere", "yandere"),
|
||||
Genre("Yaoi", "yaoi"),
|
||||
Genre("Yuri", "yuri")
|
||||
)
|
||||
}
|
10
multisrc/overrides/src/madara/dropescan/DropeScan.kt
Normal file
10
multisrc/overrides/src/madara/dropescan/DropeScan.kt
Normal file
@ -0,0 +1,10 @@
|
||||
package eu.kanade.tachiyomi.extension.pt.dropescan
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import okhttp3.Request
|
||||
|
||||
class DropeScan : Madara("Drope Scan", "https://dropescan.com", "pt-BR") {
|
||||
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)
|
||||
}
|
7
multisrc/overrides/src/madara/fdmscan/FDMScan.kt
Normal file
7
multisrc/overrides/src/madara/fdmscan/FDMScan.kt
Normal file
@ -0,0 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.pt.fdmscan
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class FDMScan : Madara("FDM Scan", "https://fdmscan.com", "pt-BR", SimpleDateFormat("MMMM dd, yyyy", Locale("pt", "BR")))
|
@ -0,0 +1,10 @@
|
||||
package eu.kanade.tachiyomi.extension.en.firstkissmanga
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import okhttp3.Headers
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class FirstKissManga : Madara("1st Kiss", "https://1stkissmanga.com", "en", dateFormat = SimpleDateFormat("dd MMM yyyy", Locale.US)) {
|
||||
override fun headersBuilder(): Headers.Builder = super.headersBuilder().add("Referer", baseUrl)
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package eu.kanade.tachiyomi.extension.en.firstkissmanhua
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.source.model.Page
|
||||
import okhttp3.Request
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class FirstKissManhua : Madara("1st Kiss Manhua", "https://1stkissmanhua.com", "en", SimpleDateFormat("d MMM yyyy", Locale.US)) {
|
||||
override fun imageRequest(page: Page): Request = GET(page.imageUrl!!, headersBuilder().add("Referer", "https://1stkissmanga.com").build())
|
||||
}
|
7
multisrc/overrides/src/madara/furioscans/FurioScans.kt
Normal file
7
multisrc/overrides/src/madara/furioscans/FurioScans.kt
Normal file
@ -0,0 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.pt.furioscans
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class FurioScans : Madara("Furio Scans", "https://furioscans.com", "pt-BR", SimpleDateFormat("dd/MM/yyyy", Locale.getDefault()))
|
12
multisrc/overrides/src/madara/geceninlordu/GeceninLordu.kt
Normal file
12
multisrc/overrides/src/madara/geceninlordu/GeceninLordu.kt
Normal file
@ -0,0 +1,12 @@
|
||||
package eu.kanade.tachiyomi.extension.ar.goldenmanga
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.source.model.FilterList
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
|
||||
class GeceninLordu : Madara("Gecenin Lordu", "https://geceninlordu.com/", "tr", SimpleDateFormat("dd MMM yyyy", Locale("tr"))) {
|
||||
override fun searchMangaRequest(page: Int, query: String, filters: FilterList) = GET("$baseUrl/?s=$query&post_type=wp-manga")
|
||||
}
|
28
multisrc/overrides/src/madara/goldenmanga/GoldenManga.kt
Normal file
28
multisrc/overrides/src/madara/goldenmanga/GoldenManga.kt
Normal file
@ -0,0 +1,28 @@
|
||||
package eu.kanade.tachiyomi.extension.ar.goldenmanga
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class GoldenManga : Madara("موقع لترجمة المانجا", "https://golden-manga.com", "ar", SimpleDateFormat("yyyy-MM-dd", Locale.US)) {
|
||||
override fun searchMangaSelector() = "div.c-image-hover a"
|
||||
override fun searchMangaFromElement(element: Element): SManga {
|
||||
return SManga.create().apply {
|
||||
setUrlWithoutDomain(element.attr("href"))
|
||||
title = element.attr("title")
|
||||
thumbnail_url = element.select("img").firstOrNull()?.let { imageFromElement(it) }
|
||||
}
|
||||
}
|
||||
|
||||
override fun chapterListSelector() = "div.main a"
|
||||
override fun chapterFromElement(element: Element): SChapter {
|
||||
return SChapter.create().apply {
|
||||
setUrlWithoutDomain(element.attr("href"))
|
||||
name = element.select("h6:first-of-type").text()
|
||||
date_upload = parseChapterDate(element.select("h6:last-of-type").firstOrNull()?.ownText())
|
||||
}
|
||||
}
|
||||
}
|
7
multisrc/overrides/src/madara/hikariscan/HikariScan.kt
Normal file
7
multisrc/overrides/src/madara/hikariscan/HikariScan.kt
Normal file
@ -0,0 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.pt.hikariscan
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class HikariScan : Madara("Hikari Scan", "https://hikariscan.com.br", "pt-BR", SimpleDateFormat("dd 'de' MMMM 'de' yyyy", Locale("pt", "BR")))
|
@ -0,0 +1,7 @@
|
||||
package eu.kanade.tachiyomi.extension.tr.himerafansub
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class HimeraFansub : Madara("Himera Fansub", "https://himera-fansub.com", "tr", SimpleDateFormat("dd MMMM yyyy", Locale.forLanguageTag("tr")))
|
40
multisrc/overrides/src/madara/hiperdex/Hiperdex.kt
Normal file
40
multisrc/overrides/src/madara/hiperdex/Hiperdex.kt
Normal file
@ -0,0 +1,40 @@
|
||||
package eu.kanade.tachiyomi.extension.en.hiperdex
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
|
||||
class Hiperdex : Madara("Hiperdex", "https://hiperdex.com", "en") {
|
||||
override fun getGenreList() = listOf(
|
||||
Genre("Adult", "adult"),
|
||||
Genre("Action", "action"),
|
||||
Genre("Adventure", "adventure"),
|
||||
Genre("Bully", "bully"),
|
||||
Genre("Comedy", "comedy"),
|
||||
Genre("Drama", "drama"),
|
||||
Genre("Ecchi", "ecchi"),
|
||||
Genre("Fantasy", "fantasy"),
|
||||
Genre("Gender Bender", "gender-bender"),
|
||||
Genre("Harem", "harem"),
|
||||
Genre("Historical", "historical"),
|
||||
Genre("Horror", "horror"),
|
||||
Genre("Isekai", "isekai"),
|
||||
Genre("Josei", "josei"),
|
||||
Genre("Martial Arts", "martial-arts"),
|
||||
Genre("Mature", "mature"),
|
||||
Genre("Mystery", "mystery"),
|
||||
Genre("Psychological", "psychological"),
|
||||
Genre("Romance", "romance"),
|
||||
Genre("School Life", "school-life"),
|
||||
Genre("Sci-Fi", "sci-fi"),
|
||||
Genre("Seinen", "seinen"),
|
||||
Genre("Shoujo", "shoujo"),
|
||||
Genre("Shounen", "shounen"),
|
||||
Genre("Slice of Life", "slice-of-life"),
|
||||
Genre("Smut", "smut"),
|
||||
Genre("Sports", "sports"),
|
||||
Genre("Supernatural", "supernatural"),
|
||||
Genre("Thriller", "thriller"),
|
||||
Genre("Tragedy", "tragedy"),
|
||||
Genre("Yaoi", "yaoi"),
|
||||
Genre("Yuri", "yuri")
|
||||
)
|
||||
}
|
Reference in New Issue
Block a user