From 581cb0c1fe5f329848788e0991b29f2f3b9fa7b5 Mon Sep 17 00:00:00 2001 From: Draken Date: Fri, 24 Jan 2025 14:07:27 +0000 Subject: [PATCH 1/3] First commit from local/Kotatsu-parsers --- .../parsers/site/wpcomics/vi/NetTruyenVie.kt | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenVie.kt diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenVie.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenVie.kt new file mode 100644 index 00000000..2cdee688 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenVie.kt @@ -0,0 +1,48 @@ +package org.koitharu.kotatsu.parsers.site.wpcomics.vi + +import kotlinx.coroutines.async +import kotlinx.coroutines.coroutineScope +import org.koitharu.kotatsu.parsers.MangaLoaderContext +import org.koitharu.kotatsu.parsers.MangaSourceParser +import org.koitharu.kotatsu.parsers.config.ConfigKey +import org.koitharu.kotatsu.parsers.model.Manga +import org.koitharu.kotatsu.parsers.model.MangaParserSource +import org.koitharu.kotatsu.parsers.model.MangaState +import org.koitharu.kotatsu.parsers.model.RATING_UNKNOWN +import org.koitharu.kotatsu.parsers.site.wpcomics.WpComicsParser +import org.koitharu.kotatsu.parsers.config.ConfigKey +import org.koitharu.kotatsu.parsers.util.* + +@MangaSourceParser("NETTRUYEN", "NetTruyen", "vi") +internal class NetTruyen(context: MangaLoaderContext) : + WpComicsParser(context, MangaParserSource.NETTRUYEN, "nettruyenvie.com", 36) { + + override fun onCreateConfig(keys: MutableCollection>) { + super.onCreateConfig(keys) + keys.add(userAgentKey) + } + + override suspend fun getDetails(manga: Manga): Manga = coroutineScope { + val fullUrl = manga.url.toAbsoluteUrl(domain) + val doc = webClient.httpGet(fullUrl).parseHtml() + val chaptersDeferred = async { getChapters(doc) } + val tagMap = getOrCreateTagMap() + val tagsElement = doc.select("li.kind p.col-xs-8 a") + val mangaTags = tagsElement.mapNotNullToSet { tagMap[it.text()] } + manga.copy( + description = doc.selectFirst(selectDesc)?.html(), + altTitle = doc.selectFirst("h2.other-name")?.textOrNull(), + author = doc.body().select(selectAut).textOrNull(), + state = doc.selectFirst(selectState)?.let { + when (it.text()) { + in ongoing -> MangaState.ONGOING + in finished -> MangaState.FINISHED + else -> null + } + }, + tags = mangaTags, + rating = doc.selectFirst("div.star input")?.attr("value")?.toFloatOrNull()?.div(5f) ?: RATING_UNKNOWN, + chapters = chaptersDeferred.await().reversed(), + ) + } +} From 653894cb82c15da9296b2ef5d8e896c09ad612c9 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Fri, 24 Jan 2025 14:08:57 +0000 Subject: [PATCH 2/3] First commit from local/Kotatsu-parsers --- .github/summary.yaml | 2 +- .../kotatsu/parsers/site/wpcomics/vi/NetTruyenVie.kt | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/summary.yaml b/.github/summary.yaml index 1d4e9d8c..20d89345 100644 --- a/.github/summary.yaml +++ b/.github/summary.yaml @@ -1 +1 @@ -total: 1175 \ No newline at end of file +total: 1176 \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenVie.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenVie.kt index 2cdee688..7fad00cf 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenVie.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenVie.kt @@ -13,9 +13,9 @@ import org.koitharu.kotatsu.parsers.site.wpcomics.WpComicsParser import org.koitharu.kotatsu.parsers.config.ConfigKey import org.koitharu.kotatsu.parsers.util.* -@MangaSourceParser("NETTRUYEN", "NetTruyen", "vi") -internal class NetTruyen(context: MangaLoaderContext) : - WpComicsParser(context, MangaParserSource.NETTRUYEN, "nettruyenvie.com", 36) { +@MangaSourceParser("NETTRUYENVIE", "NetTruyenVie", "vi") +internal class NetTruyenVie(context: MangaLoaderContext) : + WpComicsParser(context, MangaParserSource.NETTRUYENVIE, "nettruyenvie.com", 36) { override fun onCreateConfig(keys: MutableCollection>) { super.onCreateConfig(keys) From d4e9040ccfebc2f2264970150a8b4e8e5514df29 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Fri, 24 Jan 2025 14:17:47 +0000 Subject: [PATCH 3/3] Fixes --- .../koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenVie.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenVie.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenVie.kt index 7fad00cf..fc220f04 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenVie.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenVie.kt @@ -10,7 +10,6 @@ import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaState import org.koitharu.kotatsu.parsers.model.RATING_UNKNOWN import org.koitharu.kotatsu.parsers.site.wpcomics.WpComicsParser -import org.koitharu.kotatsu.parsers.config.ConfigKey import org.koitharu.kotatsu.parsers.util.* @MangaSourceParser("NETTRUYENVIE", "NetTruyenVie", "vi")