From b878824d15ca69e2d475eceeb93201c07d48892f Mon Sep 17 00:00:00 2001 From: devi <70220050+davvarrr@users.noreply.github.com> Date: Thu, 22 Jun 2023 20:50:51 +0200 Subject: [PATCH 1/2] Create Hipercool.kt --- .../kotatsu/parsers/site/madara/Hipercool.kt | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/Hipercool.kt diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/Hipercool.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/Hipercool.kt new file mode 100644 index 00000000..0c98297e --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/Hipercool.kt @@ -0,0 +1,47 @@ +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.* +import java.util.* + + +@MangaSourceParser("HIPERCOOL", "Hipercool", "pt") +internal class Hipercool(context: MangaLoaderContext) : + Madara6Parser(context, MangaSource.HIPERCOOL, "hipercool.xyz") { + + override val datePattern = "MMMM d, yyyy" + + override val tagPrefix = "manga-tag/" + + override val isNsfwSource = true + + override fun parseDetails(manga: Manga, body: Element, chapters: List): Manga { + val root = body.selectFirstOrThrow(".site-content") + val postContent = root.selectFirstOrThrow(".main-col") + val tags = postContent.getElementsByClass("tags-content") + .firstOrNull()?.tableValue() + ?.getElementsByAttributeValueContaining("href", tagPrefix) + ?.mapToSet { a -> a.asMangaTag() } ?: manga.tags + + return manga.copy( + + + largeCoverUrl = root.selectFirst("picture") + ?.selectFirst("img[data-src]") + ?.attrAsAbsoluteUrlOrNull("data-src"), + tags = tags, + isNsfw = body.hasClass("adult-content"), + chapters = chapters, + ) + } + + override fun String.asMangaState() = when (trim().lowercase(Locale.ROOT)) { + "em lançamento" -> MangaState.ONGOING + + else -> null + } + +} From 65ec3ca5c6f1156937c70d16284ce35daefaa786 Mon Sep 17 00:00:00 2001 From: devi <70220050+davvarrr@users.noreply.github.com> Date: Fri, 23 Jun 2023 08:03:58 +0200 Subject: [PATCH 2/2] Update Hipercool.kt Add parse description --- .../org/koitharu/kotatsu/parsers/site/madara/Hipercool.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/Hipercool.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/Hipercool.kt index 0c98297e..e5168d3a 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/Hipercool.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/Hipercool.kt @@ -32,6 +32,8 @@ internal class Hipercool(context: MangaLoaderContext) : largeCoverUrl = root.selectFirst("picture") ?.selectFirst("img[data-src]") ?.attrAsAbsoluteUrlOrNull("data-src"), + description = root.selectFirst("div.description-summary")?.selectFirst("div.summary__content")?.select("p") + ?.filterNot { it.ownText().startsWith("A brief description") }?.joinToString { it.html() }, tags = tags, isNsfw = body.hasClass("adult-content"), chapters = chapters,