From 76ff5c90906c5c761ded22046c79c9fe02dec44c Mon Sep 17 00:00:00 2001 From: Arraiment <76941874+Arraiment@users.noreply.github.com> Date: Mon, 9 Aug 2021 20:50:05 +0800 Subject: [PATCH] Override manga details parsing (#8493) --- .../madara/manhwanelo/src/ManhwaNelo.kt | 49 +++++++++++++++++++ .../multisrc/madara/MadaraGenerator.kt | 2 +- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 multisrc/overrides/madara/manhwanelo/src/ManhwaNelo.kt diff --git a/multisrc/overrides/madara/manhwanelo/src/ManhwaNelo.kt b/multisrc/overrides/madara/manhwanelo/src/ManhwaNelo.kt new file mode 100644 index 000000000..79ea60713 --- /dev/null +++ b/multisrc/overrides/madara/manhwanelo/src/ManhwaNelo.kt @@ -0,0 +1,49 @@ +package eu.kanade.tachiyomi.extension.en.manhwanelo + +import eu.kanade.tachiyomi.multisrc.madara.Madara +import eu.kanade.tachiyomi.source.model.SManga +import org.jsoup.nodes.Document +import java.util.Locale + +class ManhwaNelo : Madara("ManhwaNelo", "https://manhwanelo.com", "en") { + + override fun mangaDetailsParse(document: Document): SManga { + val manga = SManga.create() + with(document) { + select("div.detailsingle h1").first()?.let { + manga.title = it.ownText() + } + select("div.author a").eachText().filter { + it.notUpdating() + }.joinToString().takeIf { it.isNotBlank() }?.let { + manga.author = it + // Site does not separate artist and author + manga.artist = manga.author + } + + select("div.description-summary div.summary__content").let { + if (it.select("p").text().isNotEmpty()) { + manga.description = it.select("p").joinToString(separator = "\n\n") { p -> + p.text().replace("<br>", "\n") + } + } else { + manga.description = it.text() + } + } + select("div.summary_image img").first()?.let { + manga.thumbnail_url = imageFromElement(it) + } + select("div.status p").let { + manga.status = when (it.text().substringAfter("| ")) { + "end" -> SManga.COMPLETED + "on-going" -> SManga.ONGOING + else -> SManga.UNKNOWN + } + } + manga.genre = select("div.genres a") + .joinToString(", ") { element -> element.text().toLowerCase(Locale.ROOT) } + + return manga + } + } +} diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt index fe0aedd6f..b136fd367 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt @@ -256,7 +256,7 @@ class MadaraGenerator : ThemeSourceGenerator { SingleLang("Manhwa.biz", "https://manhwa.biz", "en", isNsfw = true, className = "Manhwabiz"), SingleLang("ManhwaBookShelf", "https://manhwabookshelf.com", "en"), SingleLang("Manhwafull", "https://manhwafull.com", "en"), - SingleLang("ManhwaNelo", "https://manhwanelo.com", "en"), + SingleLang("ManhwaNelo", "https://manhwanelo.com", "en", overrideVersionCode = 1), SingleLang("ManhwaPool", "https://manhwapool.com", "en"), SingleLang("Manhwatop", "https://manhwatop.com", "en", overrideVersionCode = 1), SingleLang("Manhwahentai.me", "https://manhwahentai.me", "en", className = "ManhwahentaiMe", isNsfw = true, overrideVersionCode = 1),