commit
42ecf8a958
@ -0,0 +1,10 @@
|
||||
package org.koitharu.kotatsu.parsers.site.mangareader.tr
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser
|
||||
|
||||
@MangaSourceParser("MANGAKINGS", "MangaKings", "tr")
|
||||
internal class MangaKings(context: MangaLoaderContext) :
|
||||
MangaReaderParser(context, MangaSource.MANGAKINGS, "mangakings.com.tr", pageSize = 20, searchPageSize = 10)
|
||||
@ -0,0 +1,10 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.ar
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
|
||||
@MangaSourceParser("HIJALA", "Hijala", "ar")
|
||||
internal class Hijala(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.HIJALA, "hijala.blogspot.com")
|
||||
@ -0,0 +1,14 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.ar
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
|
||||
@MangaSourceParser("LONERTL", "LonerTranslations", "ar")
|
||||
internal class LonerTl(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.LONERTL, "loner-tl.blogspot.com") {
|
||||
override val sateOngoing: String = "مستمرة"
|
||||
override val sateFinished: String = "مكتملة"
|
||||
override val sateAbandoned: String = "متوقفة"
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.ar
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.model.MangaTag
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
import org.koitharu.kotatsu.parsers.util.domain
|
||||
import org.koitharu.kotatsu.parsers.util.mapNotNullToSet
|
||||
import org.koitharu.kotatsu.parsers.util.parseHtml
|
||||
import org.koitharu.kotatsu.parsers.util.requireElementById
|
||||
|
||||
@MangaSourceParser("MANGAAILAND", "MangaAiLand", "ar")
|
||||
internal class MangaAiLand(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.MANGAAILAND, "manga-ai-land.blogspot.com") {
|
||||
override val sateOngoing: String = "مستمر"
|
||||
override val sateFinished: String = "مكتملة"
|
||||
override val sateAbandoned: String = "متوقفة"
|
||||
|
||||
override suspend fun getAvailableTags(): Set<MangaTag> {
|
||||
val doc = webClient.httpGet("https://$domain").parseHtml()
|
||||
return doc.requireElementById("LinkList1").select("ul li a").mapNotNullToSet {
|
||||
MangaTag(
|
||||
key = it.attr("href").substringBefore("?").substringAfterLast('/'),
|
||||
title = it.text(),
|
||||
source = source,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.ar
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
|
||||
@MangaSourceParser("MANGASOUL", "MangaSoul", "ar")
|
||||
internal class MangaSoul(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.MANGASOUL, "www.manga-soul.com")
|
||||
@ -0,0 +1,10 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.ar
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
|
||||
@MangaSourceParser("ROCKSMANGA_COM", "RocksManga.com", "ar")
|
||||
internal class RocksManga(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.ROCKSMANGA_COM, "www.rocks-manga.com")
|
||||
@ -0,0 +1,10 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.ar
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
|
||||
@MangaSourceParser("YOKAITEAM", "YokaiTeam", "ar")
|
||||
internal class YokaiTeam(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.YOKAITEAM, "yokai-team.blogspot.com")
|
||||
@ -0,0 +1,10 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.id
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
|
||||
@MangaSourceParser("ASUPANKOMIK", "AsupanKomik", "id")
|
||||
internal class AsupanKomik(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.ASUPANKOMIK, "www.asupankomik.my.id")
|
||||
@ -0,0 +1,28 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.id
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.ContentType
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.model.MangaTag
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
import org.koitharu.kotatsu.parsers.util.domain
|
||||
import org.koitharu.kotatsu.parsers.util.mapNotNullToSet
|
||||
import org.koitharu.kotatsu.parsers.util.parseHtml
|
||||
import org.koitharu.kotatsu.parsers.util.requireElementById
|
||||
|
||||
@MangaSourceParser("KLMANHUA", "KlManhua", "id", ContentType.HENTAI)
|
||||
internal class KlManhua(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.KLMANHUA, "klmanhua.blogspot.com") {
|
||||
|
||||
override suspend fun getAvailableTags(): Set<MangaTag> {
|
||||
val doc = webClient.httpGet("https://$domain").parseHtml()
|
||||
return doc.requireElementById("LinkList1").select("ul li a").mapNotNullToSet {
|
||||
MangaTag(
|
||||
key = it.attr("href").substringBefore("?").substringAfterLast('/'),
|
||||
title = it.text(),
|
||||
source = source,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.id
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
|
||||
@MangaSourceParser("KOMIKREALM", "KomikRealm", "id")
|
||||
internal class KomikRealm(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.KOMIKREALM, "www.komikrealm.my.id")
|
||||
@ -0,0 +1,29 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.id
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.ContentType
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.model.MangaTag
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
import org.koitharu.kotatsu.parsers.util.domain
|
||||
import org.koitharu.kotatsu.parsers.util.mapNotNullToSet
|
||||
import org.koitharu.kotatsu.parsers.util.parseHtml
|
||||
import org.koitharu.kotatsu.parsers.util.requireElementById
|
||||
import org.koitharu.kotatsu.parsers.util.selectFirstOrThrow
|
||||
|
||||
@MangaSourceParser("MIKOROKU", "Mikoroku", "id", ContentType.HENTAI)
|
||||
internal class Mikoroku(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.MIKOROKU, "www.mikoroku.web.id") {
|
||||
|
||||
override suspend fun getAvailableTags(): Set<MangaTag> {
|
||||
val doc = webClient.httpGet("https://$domain").parseHtml()
|
||||
return doc.requireElementById("Genre").select("div.items-center").mapNotNullToSet {
|
||||
MangaTag(
|
||||
key = it.selectFirstOrThrow("input").attr("value"),
|
||||
title = it.selectFirstOrThrow("label").text().substringBefore('('),
|
||||
source = source,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.id
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.model.MangaTag
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
import org.koitharu.kotatsu.parsers.util.domain
|
||||
import org.koitharu.kotatsu.parsers.util.mapNotNullToSet
|
||||
import org.koitharu.kotatsu.parsers.util.parseHtml
|
||||
|
||||
@MangaSourceParser("SHIYURASUB", "ShiyuraSub", "id")
|
||||
internal class ShiyuraSub(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.SHIYURASUB, "shiyurasub.blogspot.com") {
|
||||
|
||||
override val selectTags = ".leading-8 div.my-5.gap-2 a"
|
||||
|
||||
override suspend fun getAvailableTags(): Set<MangaTag> {
|
||||
val doc = webClient.httpGet("https://$domain").parseHtml()
|
||||
return doc.select("div.list-label-widget-content ul li a").mapNotNullToSet {
|
||||
MangaTag(
|
||||
key = it.attr("href").removeSuffix("/").substringAfterLast('/'),
|
||||
title = it.html().substringBefore("<span"),
|
||||
source = source,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.id
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
|
||||
@MangaSourceParser("SOBATMANKU", "Sobatmanku", "id")
|
||||
internal class Sobatmanku(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.SOBATMANKU, "www.sobatmanku19.site")
|
||||
@ -0,0 +1,44 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.id
|
||||
|
||||
import org.jsoup.nodes.Document
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.ContentType
|
||||
import org.koitharu.kotatsu.parsers.model.MangaChapter
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.model.MangaTag
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
import org.koitharu.kotatsu.parsers.util.*
|
||||
|
||||
@MangaSourceParser("TOONCUBUS", "ToonCubus", "id", ContentType.HENTAI)
|
||||
internal class ToonCubus(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.TOONCUBUS, "www.tooncubus.top") {
|
||||
override suspend fun getAvailableTags(): Set<MangaTag> {
|
||||
val doc = webClient.httpGet("https://$domain/p/genre-list.html").parseHtml()
|
||||
return doc.select(".dzdes-genre ul li a").mapNotNullToSet {
|
||||
MangaTag(
|
||||
key = it.attr("href").removeSuffix("/").substringAfterLast("/"),
|
||||
title = it.selectFirstOrThrow("span").text(),
|
||||
source = source,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun loadChapters(mangaUrl: String, doc: Document): List<MangaChapter> {
|
||||
return doc.selectFirstOrThrow("ul.series-chapterlist").select("div.flexch-infoz")
|
||||
.mapChapters(reversed = true) { i, div ->
|
||||
val url = div.selectFirstOrThrow("a").attr("href")
|
||||
val name = div.selectFirstOrThrow("a span").text()
|
||||
MangaChapter(
|
||||
id = generateUid(url),
|
||||
url = url,
|
||||
name = name,
|
||||
number = i + 1,
|
||||
branch = null,
|
||||
uploadDate = 0,
|
||||
scanlator = null,
|
||||
source = source,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,48 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.pt
|
||||
|
||||
import org.jsoup.nodes.Document
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaChapter
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.model.MangaTag
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
import org.koitharu.kotatsu.parsers.util.*
|
||||
|
||||
@MangaSourceParser("ANIMEXNOVEL", "AnimeXNovel", "pt")
|
||||
internal class AnimeXNovel(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.ANIMEXNOVEL, "www.animexnovel.com") {
|
||||
|
||||
override val sateOngoing: String = "Ativo"
|
||||
override val sateFinished: String = "Completo"
|
||||
override val sateAbandoned: String = "Dropado"
|
||||
|
||||
override suspend fun getAvailableTags(): Set<MangaTag> {
|
||||
val doc = webClient.httpGet("https://$domain").parseHtml()
|
||||
return doc.requireElementById("LinkList1").select("ul li a").mapNotNullToSet {
|
||||
MangaTag(
|
||||
key = it.attr("href").removeSuffix("/").substringAfterLast('/'),
|
||||
title = it.text(),
|
||||
source = source,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun loadChapters(mangaUrl: String, doc: Document): List<MangaChapter> {
|
||||
return doc.select("div:has(> .list-judul:contains(Lista de Capítulos)) div#latest ul > li, div.tab:has(> label:contains(Lista de Capítulos)) div.tab-content ul > li")
|
||||
.mapChapters(reversed = true) { i, li ->
|
||||
val url = li.selectFirstOrThrow("a").attr("href")
|
||||
val name = li.selectFirstOrThrow("a span").text()
|
||||
MangaChapter(
|
||||
id = generateUid(url),
|
||||
url = url,
|
||||
name = name,
|
||||
number = i + 1,
|
||||
branch = null,
|
||||
uploadDate = 0,
|
||||
scanlator = null,
|
||||
source = source,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.pt
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
|
||||
@MangaSourceParser("ELEVENSCANLATOR", "ElevenScanlator", "pt")
|
||||
internal class ElevenScanlator(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.ELEVENSCANLATOR, "elevenscanlator.blogspot.com") {
|
||||
override val sateOngoing: String = "Lançando"
|
||||
override val sateFinished: String = "Completo"
|
||||
override val sateAbandoned: String = "Dropado"
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.pt
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
|
||||
@MangaSourceParser("GALAXSCANS", "GalaxScans", "pt")
|
||||
internal class GalaxScans(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.GALAXSCANS, "galaxscans.blogspot.com") {
|
||||
override val mangaCategory = "Recentes"
|
||||
override val sateOngoing: String = "Lançando"
|
||||
override val sateFinished: String = "Completo"
|
||||
override val sateAbandoned: String = "Dropado"
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.pt
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.model.MangaTag
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
import org.koitharu.kotatsu.parsers.util.domain
|
||||
import org.koitharu.kotatsu.parsers.util.mapNotNullToSet
|
||||
import org.koitharu.kotatsu.parsers.util.parseHtml
|
||||
import org.koitharu.kotatsu.parsers.util.requireElementById
|
||||
|
||||
@MangaSourceParser("GUILDATIERDRAW", "GuildaTierDraw", "pt")
|
||||
internal class GuildaTierDraw(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.GUILDATIERDRAW, "www.guildatierdraw.com") {
|
||||
|
||||
override suspend fun getAvailableTags(): Set<MangaTag> {
|
||||
val doc = webClient.httpGet("https://$domain").parseHtml()
|
||||
return doc.requireElementById("LinkList2").select("ul li a").mapNotNullToSet {
|
||||
MangaTag(
|
||||
key = it.attr("href").substringBefore("?").substringAfterLast('/'),
|
||||
title = it.text(),
|
||||
source = source,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.pt
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
|
||||
@MangaSourceParser("MAXGSSCAN", "MaxgsScan", "pt")
|
||||
internal class MaxgsScan(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.MAXGSSCAN, "www.maxgsscan.online")
|
||||
@ -0,0 +1,10 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.pt
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
|
||||
@MangaSourceParser("TYRANTSCANS", "TyrantScans", "pt")
|
||||
internal class TyrantScans(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.TYRANTSCANS, "www.tyrantscans.com")
|
||||
@ -0,0 +1,10 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.pt
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
|
||||
@MangaSourceParser("WOLFSCANBR", "WolfScanBr", "pt")
|
||||
internal class WolfScanBr(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.WOLFSCANBR, "wolfscanbr.blogspot.com")
|
||||
@ -0,0 +1,33 @@
|
||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.tr
|
||||
|
||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.ContentType
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.model.MangaTag
|
||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||
import org.koitharu.kotatsu.parsers.util.domain
|
||||
import org.koitharu.kotatsu.parsers.util.mapNotNullToSet
|
||||
import org.koitharu.kotatsu.parsers.util.parseHtml
|
||||
import org.koitharu.kotatsu.parsers.util.selectFirstOrThrow
|
||||
|
||||
@MangaSourceParser("SNSCOEURTURKEY", "SnscoeurTurkey", "tr", ContentType.HENTAI)
|
||||
internal class SnscoeurTurkey(context: MangaLoaderContext) :
|
||||
ZeistMangaParser(context, MangaSource.SNSCOEURTURKEY, "snscoeurturkey.blogspot.com") {
|
||||
override val sateOngoing: String = "Güncel"
|
||||
override val sateFinished: String = "Final"
|
||||
override val sateAbandoned: String = "Düzenleniyor"
|
||||
|
||||
override val mangaCategory = "Seriler"
|
||||
|
||||
override suspend fun getAvailableTags(): Set<MangaTag> {
|
||||
val doc = webClient.httpGet("https://$domain/p/gelismis-arama.html").parseHtml()
|
||||
return doc.selectFirstOrThrow("div.filter").select("ul li").mapNotNullToSet {
|
||||
MangaTag(
|
||||
key = it.selectFirstOrThrow("input").attr("value"),
|
||||
title = it.selectFirstOrThrow("label").text(),
|
||||
source = source,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue