Create Hentaiteca.kt
parent
c2b79b55f8
commit
16a99d7b8c
@ -0,0 +1,57 @@
|
|||||||
|
package org.koitharu.kotatsu.parsers.site.madara
|
||||||
|
|
||||||
|
import org.jsoup.nodes.Element
|
||||||
|
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||||
|
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||||
|
import org.koitharu.kotatsu.parsers.model.*
|
||||||
|
import org.koitharu.kotatsu.parsers.util.*
|
||||||
|
|
||||||
|
@MangaSourceParser("HENTAITECA", "Hentaiteca", "pt")
|
||||||
|
internal class Hentaiteca(context: MangaLoaderContext) :
|
||||||
|
Madara6Parser(context, MangaSource.HENTAITECA, "hentaiteca.net") {
|
||||||
|
|
||||||
|
override val datePattern = "MM/dd/yyyy"
|
||||||
|
|
||||||
|
override val tagPrefix = "genero/"
|
||||||
|
|
||||||
|
override val isNsfwSource = true
|
||||||
|
|
||||||
|
override fun String.asMangaState(): MangaState? = when (this) {
|
||||||
|
"Em Lançamento",
|
||||||
|
-> MangaState.ONGOING
|
||||||
|
|
||||||
|
"Completo",
|
||||||
|
-> MangaState.FINISHED
|
||||||
|
|
||||||
|
else -> null
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun parseDetails(manga: Manga, body: Element, chapters: List<MangaChapter>): Manga {
|
||||||
|
val root = body.selectFirstOrThrow(".site-content")
|
||||||
|
val postContent = root.selectFirstOrThrow(".post-content")
|
||||||
|
val tags = postContent.getElementsContainingOwnText("Gênero(s)")
|
||||||
|
.firstOrNull()?.tableValue()
|
||||||
|
?.getElementsByAttributeValueContaining("href", tagPrefix)
|
||||||
|
?.mapToSet { a -> a.asMangaTag() } ?: manga.tags
|
||||||
|
return manga.copy(
|
||||||
|
rating = postContent.selectFirstOrThrow(".post-rating")
|
||||||
|
.selectFirstOrThrow(".total_votes").text().toFloat() / 5f,
|
||||||
|
largeCoverUrl = root.selectFirst(".summary_image")
|
||||||
|
?.selectFirst("img[data-src]")
|
||||||
|
?.attrAsAbsoluteUrlOrNull("data-src")
|
||||||
|
.assertNotNull("largeCoverUrl"),
|
||||||
|
description = root.selectFirstOrThrow(".description-summary")
|
||||||
|
.firstElementChild()?.html(),
|
||||||
|
author = postContent.getElementsContainingOwnText("Autor(es)")
|
||||||
|
.firstOrNull()?.tableValue()?.text()?.trim(),
|
||||||
|
altTitle = postContent.getElementsContainingOwnText("Alternatif")
|
||||||
|
.firstOrNull()?.tableValue()?.text()?.trim(),
|
||||||
|
state = postContent.getElementsContainingOwnText("Status")
|
||||||
|
.firstOrNull()?.tableValue()?.text()?.asMangaState(),
|
||||||
|
tags = tags,
|
||||||
|
isNsfw = body.hasClass("adult-content"),
|
||||||
|
chapters = chapters,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue