From d0b2002a1b1c35d792359aae50bcdb90b371d96a Mon Sep 17 00:00:00 2001 From: Draken <131387159+dragonx943@users.noreply.github.com> Date: Mon, 21 Jul 2025 22:52:43 +0700 Subject: [PATCH] [KuroNeko + CuuTruyen] Small fixes (#1989) --- .../kotatsu/parsers/site/vi/CuuTruyenParser.kt | 2 +- .../org/koitharu/kotatsu/parsers/site/vi/KuroNeko.kt | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/CuuTruyenParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/CuuTruyenParser.kt index b37e0203..361d0343 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/CuuTruyenParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/CuuTruyenParser.kt @@ -132,7 +132,7 @@ internal class CuuTruyenParser(context: MangaLoaderContext) : Manga( id = generateUid(jo.getLong("id")), url = "/api/v2/mangas/${jo.getLong("id")}", - publicUrl = "https://$domain/manga/${jo.getLong("id")}", + publicUrl = "https://$domain/mangas/${jo.getLong("id")}", title = jo.getString("name"), altTitles = emptySet(), coverUrl = jo.getString("cover_mobile_url"), diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/KuroNeko.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/KuroNeko.kt index 59e2fa34..372ed123 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/KuroNeko.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/KuroNeko.kt @@ -209,11 +209,14 @@ internal class KuroNeko(context: MangaLoaderContext) : PagedMangaParser(context, } private suspend fun availableTags(): Set { - val doc = webClient.httpGet("https://$domain").parseHtml() - return doc.select("ul.grid.grid-cols-2 a").mapIndexed { index, a -> + val doc = webClient.httpGet("https://$domain/tim-kiem").parseHtml() + val regex = Regex("toggleGenre\\('([0-9]+)'\\)") + return doc.select("div.grid.grid-cols-3 label").mapNotNullToSet { label -> + val attr = label.attr("@click") + val number = attr.findGroupValue(regex) ?: return@mapNotNullToSet null MangaTag( - key = (index + 1).toString(), - title = a.text(), + key = number, + title = label.text(), source = source, ) }.toSet()