|
|
|
@ -11,29 +11,29 @@ import org.koitharu.kotatsu.parsers.util.*
|
|
|
|
@MangaSourceParser("YAOICHAN", "Яой-тян", "ru")
|
|
|
|
@MangaSourceParser("YAOICHAN", "Яой-тян", "ru")
|
|
|
|
internal class YaoiChanParser(context: MangaLoaderContext) : ChanParser(context, MangaSource.YAOICHAN) {
|
|
|
|
internal class YaoiChanParser(context: MangaLoaderContext) : ChanParser(context, MangaSource.YAOICHAN) {
|
|
|
|
|
|
|
|
|
|
|
|
override val configKeyDomain = ConfigKey.Domain("yaoi-chan.me", null)
|
|
|
|
override val configKeyDomain = ConfigKey.Domain("yaoi-chan.me", null)
|
|
|
|
|
|
|
|
|
|
|
|
override suspend fun getDetails(manga: Manga): Manga {
|
|
|
|
override suspend fun getDetails(manga: Manga): Manga {
|
|
|
|
val doc = webClient.httpGet(manga.url.toAbsoluteUrl(domain)).parseHtml()
|
|
|
|
val doc = webClient.httpGet(manga.url.toAbsoluteUrl(domain)).parseHtml()
|
|
|
|
val root = doc.body().requireElementById("dle-content")
|
|
|
|
val root = doc.body().requireElementById("dle-content")
|
|
|
|
return manga.copy(
|
|
|
|
return manga.copy(
|
|
|
|
description = root.getElementById("description")?.html()?.substringBeforeLast("<div"),
|
|
|
|
description = root.getElementById("description")?.html()?.substringBeforeLast("<div"),
|
|
|
|
largeCoverUrl = root.getElementById("cover")?.absUrl("src"),
|
|
|
|
largeCoverUrl = root.getElementById("cover")?.absUrl("src"),
|
|
|
|
chapters = root.select("table.table_cha").flatMap { table ->
|
|
|
|
chapters = root.select("table.table_cha").flatMap { table ->
|
|
|
|
table.select("div.manga")
|
|
|
|
table.select("div.manga")
|
|
|
|
}.mapNotNull { it.selectFirst("a") }.reversed().mapChapters { i, a ->
|
|
|
|
}.mapNotNull { it.selectFirst("a") }.mapChapters(reversed = true) { i, a ->
|
|
|
|
val href = a.attrAsRelativeUrl("href")
|
|
|
|
val href = a.attrAsRelativeUrl("href")
|
|
|
|
MangaChapter(
|
|
|
|
MangaChapter(
|
|
|
|
id = generateUid(href),
|
|
|
|
id = generateUid(href),
|
|
|
|
name = a.text().trim(),
|
|
|
|
name = a.text().trim(),
|
|
|
|
number = i + 1,
|
|
|
|
number = i + 1,
|
|
|
|
url = href,
|
|
|
|
url = href,
|
|
|
|
uploadDate = 0L,
|
|
|
|
uploadDate = 0L,
|
|
|
|
source = source,
|
|
|
|
source = source,
|
|
|
|
scanlator = null,
|
|
|
|
scanlator = null,
|
|
|
|
branch = null,
|
|
|
|
branch = null,
|
|
|
|
)
|
|
|
|
)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
)
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|