From 581f64ace094bcdfd46cba23071cd017c2c6a5eb Mon Sep 17 00:00:00 2001 From: h-hyuuga <83582211+h-hyuuga@users.noreply.github.com> Date: Wed, 2 Mar 2022 04:46:12 -0500 Subject: [PATCH] Add support for determining series type (#10985) --- .../tachiyomi/multisrc/genkan/Genkan.kt | 22 ++++++++++++++----- .../multisrc/genkan/GenkanGenerator.kt | 2 +- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/genkan/Genkan.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/genkan/Genkan.kt index fa2f1d1b1..7516af428 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/genkan/Genkan.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/genkan/Genkan.kt @@ -96,14 +96,17 @@ open class Genkan( .let { if (it.startsWith("http")) it else baseUrl + it } } - override fun mangaDetailsParse(document: Document): SManga { - return SManga.create().apply { - title = document.select("div#content h5").first().text() - description = document.select("div.col-lg-9").text().substringAfter("Description ").substringBefore(" Volume") - thumbnail_url = styleToUrl(document.select("div.media a").first()) - } + protected var countryOfOriginSelector = ".card.mt-2 .list-item:contains(Country of Origin) .no-wrap" + override fun mangaDetailsParse(document: Document) = SManga.create().apply { + title = document.select("div#content h5").first().text() + description = document.select("div.col-lg-9").text().substringAfter("Description ").substringBefore(" Volume") + thumbnail_url = styleToUrl(document.select("div.media a").first()) + genre = listOfNotNull( + document.selectFirst(countryOfOriginSelector)?.let { countryOfOriginToSeriesType(it.text())} + ).joinToString() } + override fun chapterListSelector() = "div.col-lg-9 div.flex" override fun chapterFromElement(element: Element): SChapter { @@ -137,6 +140,13 @@ open class Genkan( } } + private fun countryOfOriginToSeriesType(country: String) = when (country) { + "South Korea" -> "Manhwa" + "Japan" -> "Manga" + "China" -> "Manhua" + else -> null + } + // Subtract relative date (e.g. posted 3 days ago) private fun parseRelativeDate(date: String): Long? { val trimmedDate = date.substringBefore(" ago").removeSuffix("s").split(" ") diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/genkan/GenkanGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/genkan/GenkanGenerator.kt index 88ea133e6..fe3cc4382 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/genkan/GenkanGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/genkan/GenkanGenerator.kt @@ -9,7 +9,7 @@ class GenkanGenerator : ThemeSourceGenerator { override val themeClass = "Genkan" - override val baseVersionCode: Int = 2 + override val baseVersionCode: Int = 3 override val sources = listOf( SingleLang("Hunlight Scans", "https://hunlight-scans.info", "en"),