From 95c43a06d5f4efeffdb5cbd55c7cebb2e765c13c Mon Sep 17 00:00:00 2001 From: Draken Date: Fri, 7 Feb 2025 04:23:38 +0000 Subject: [PATCH] [wpcomics/vi/nettruyen*] Fixes --- .../parsers/site/wpcomics/vi/NetTruyen.kt | 2 +- .../parsers/site/wpcomics/vi/NetTruyenFE.kt | 18 ++++++++++++++++++ .../parsers/site/wpcomics/vi/NetTruyenLL.kt | 18 ++++++++++++++++++ .../parsers/site/wpcomics/vi/NetTruyenSSR.kt | 18 ++++++++++++++++++ .../parsers/site/wpcomics/vi/NetTruyenUU.kt | 18 ++++++++++++++++++ .../parsers/site/wpcomics/vi/NetTruyenVie.kt | 4 ++-- 6 files changed, 75 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyen.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyen.kt index 173e845b..2ace154a 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyen.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyen.kt @@ -39,7 +39,7 @@ internal class NetTruyen(context: MangaLoaderContext) : }, tags = mangaTags, rating = doc.selectFirst("div.star input")?.attr("value")?.toFloatOrNull()?.div(5f) ?: RATING_UNKNOWN, - chapters = chaptersDeferred.await().reversed(), + chapters = chaptersDeferred.await(), ) } } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenFE.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenFE.kt index 782cc4f6..b75b7c1d 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenFE.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenFE.kt @@ -130,4 +130,22 @@ internal class NetTruyenFE(context: MangaLoaderContext) : tagCache = result result } + + override suspend fun getPages(chapter: MangaChapter): List { + val fullUrl = chapter.url.toAbsoluteUrl(domain) + val doc = webClient.httpGet(fullUrl).parseHtml() + return doc.select(selectPage).map { url -> + var img = url.requireSrc().toRelativeUrl(domain) + var imgFinal = img.replace("ntcdn242.wibu.asia/qq", "ntcdn160.wibu.asia/bt") + .replace("i2.netcdn.one", "i2.wp.com/i2.netcdn.one") + .replace("i2.netcdn.one", "manga-covers.vercel.app/api/proxy?url=https://i2.netcdn.one") + .replace("i2.netcdn.one", "https://wsrv.nl/?url=https://i2.netcdn.one") + MangaPage( + id = generateUid(imgFinal), + url = imgFinal, + preview = null, + source = source, + ) + } + } } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenLL.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenLL.kt index fb1e8a0e..ad7d4f4a 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenLL.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenLL.kt @@ -130,4 +130,22 @@ internal class NetTruyenLL(context: MangaLoaderContext) : tagCache = result result } + + override suspend fun getPages(chapter: MangaChapter): List { + val fullUrl = chapter.url.toAbsoluteUrl(domain) + val doc = webClient.httpGet(fullUrl).parseHtml() + return doc.select(selectPage).map { url -> + var img = url.requireSrc().toRelativeUrl(domain) + var imgFinal = img.replace("ntcdn242.wibu.asia/qq", "ntcdn160.wibu.asia/bt") + .replace("i2.netcdn.one", "i2.wp.com/i2.netcdn.one") + .replace("i2.netcdn.one", "manga-covers.vercel.app/api/proxy?url=https://i2.netcdn.one") + .replace("i2.netcdn.one", "https://wsrv.nl/?url=https://i2.netcdn.one") + MangaPage( + id = generateUid(imgFinal), + url = imgFinal, + preview = null, + source = source, + ) + } + } } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenSSR.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenSSR.kt index 8ceaaaab..d2f4024d 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenSSR.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenSSR.kt @@ -130,4 +130,22 @@ internal class NetTruyenSSR(context: MangaLoaderContext) : tagCache = result result } + + override suspend fun getPages(chapter: MangaChapter): List { + val fullUrl = chapter.url.toAbsoluteUrl(domain) + val doc = webClient.httpGet(fullUrl).parseHtml() + return doc.select(selectPage).map { url -> + var img = url.requireSrc().toRelativeUrl(domain) + var imgFinal = img.replace("ntcdn242.wibu.asia/qq", "ntcdn160.wibu.asia/bt") + .replace("i2.netcdn.one", "i2.wp.com/i2.netcdn.one") + .replace("i2.netcdn.one", "manga-covers.vercel.app/api/proxy?url=https://i2.netcdn.one") + .replace("i2.netcdn.one", "https://wsrv.nl/?url=https://i2.netcdn.one") + MangaPage( + id = generateUid(imgFinal), + url = imgFinal, + preview = null, + source = source, + ) + } + } } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenUU.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenUU.kt index 61d89101..a2d2cb75 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenUU.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/vi/NetTruyenUU.kt @@ -130,4 +130,22 @@ internal class NetTruyenUU(context: MangaLoaderContext) : tagCache = result result } + + override suspend fun getPages(chapter: MangaChapter): List { + val fullUrl = chapter.url.toAbsoluteUrl(domain) + val doc = webClient.httpGet(fullUrl).parseHtml() + return doc.select(selectPage).map { url -> + var img = url.requireSrc().toRelativeUrl(domain) + var imgFinal = img.replace("ntcdn242.wibu.asia/qq", "ntcdn160.wibu.asia/bt") + .replace("i2.netcdn.one", "i2.wp.com/i2.netcdn.one") + .replace("i2.netcdn.one", "manga-covers.vercel.app/api/proxy?url=https://i2.netcdn.one") + .replace("i2.netcdn.one", "https://wsrv.nl/?url=https://i2.netcdn.one") + MangaPage( + id = generateUid(imgFinal), + url = imgFinal, + preview = null, + source = source, + ) + } + } } 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 3112adda..8f7df42d 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 @@ -23,7 +23,7 @@ internal class NetTruyenVie(context: MangaLoaderContext) : 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(), + description = doc.selectFirst("div.detail-content > div")?.html(), altTitle = doc.selectFirst("h2.other-name")?.textOrNull(), author = doc.body().select(selectAut).textOrNull(), state = doc.selectFirst(selectState)?.let { @@ -35,7 +35,7 @@ internal class NetTruyenVie(context: MangaLoaderContext) : }, tags = mangaTags, rating = doc.selectFirst("div.star input")?.attr("value")?.toFloatOrNull()?.div(5f) ?: RATING_UNKNOWN, - chapters = chaptersDeferred.await().reversed(), + chapters = chaptersDeferred.await(), ) } }