From 9ab07589adffdead5e162c9d2334212228f7437d Mon Sep 17 00:00:00 2001 From: "Cuong M. Tran" Date: Sun, 18 Feb 2024 02:04:20 +0700 Subject: [PATCH] NetTruyen/NhatTruyen: avoid return un-relevant searching results (#1338) * NetTruyen/NhatTruyen: avoid return catalog page when searching return empty They redirect back to catalog page if searching query is not found. That makes both sites always return un-relevant results when searching should have returned empty. * fix overrideVersion --- .../kanade/tachiyomi/multisrc/wpcomics/WPComics.kt | 3 ++- src/vi/nettruyen/build.gradle | 2 +- .../tachiyomi/extension/vi/nettruyen/NetTruyen.kt | 13 +++++++++++++ src/vi/nhattruyen/build.gradle | 2 +- .../tachiyomi/extension/vi/nhattruyen/NhatTruyen.kt | 13 +++++++++++++ 5 files changed, 30 insertions(+), 3 deletions(-) diff --git a/lib-multisrc/wpcomics/src/eu/kanade/tachiyomi/multisrc/wpcomics/WPComics.kt b/lib-multisrc/wpcomics/src/eu/kanade/tachiyomi/multisrc/wpcomics/WPComics.kt index af65e6792..2b3c7c688 100644 --- a/lib-multisrc/wpcomics/src/eu/kanade/tachiyomi/multisrc/wpcomics/WPComics.kt +++ b/lib-multisrc/wpcomics/src/eu/kanade/tachiyomi/multisrc/wpcomics/WPComics.kt @@ -72,6 +72,7 @@ abstract class WPComics( // Search protected open val searchPath = "tim-truyen" + protected open val queryParam = "keyword" protected open fun String.replaceSearchPath() = this @@ -91,7 +92,7 @@ abstract class WPComics( } url.apply { - addQueryParameter("keyword", query) + addQueryParameter(queryParam, query) addQueryParameter("page", page.toString()) addQueryParameter("sort", "0") } diff --git a/src/vi/nettruyen/build.gradle b/src/vi/nettruyen/build.gradle index db89e7c6c..d6a9e3c0c 100644 --- a/src/vi/nettruyen/build.gradle +++ b/src/vi/nettruyen/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.NetTruyen' themePkg = 'wpcomics' baseUrl = 'https://www.nettruyenss.com' - overrideVersionCode = 22 + overrideVersionCode = 23 } apply from: "$rootDir/common.gradle" diff --git a/src/vi/nettruyen/src/eu/kanade/tachiyomi/extension/vi/nettruyen/NetTruyen.kt b/src/vi/nettruyen/src/eu/kanade/tachiyomi/extension/vi/nettruyen/NetTruyen.kt index f892db34e..9624ed605 100644 --- a/src/vi/nettruyen/src/eu/kanade/tachiyomi/extension/vi/nettruyen/NetTruyen.kt +++ b/src/vi/nettruyen/src/eu/kanade/tachiyomi/extension/vi/nettruyen/NetTruyen.kt @@ -1,12 +1,25 @@ package eu.kanade.tachiyomi.extension.vi.nettruyen import eu.kanade.tachiyomi.multisrc.wpcomics.WPComics +import eu.kanade.tachiyomi.source.model.MangasPage +import okhttp3.Response import java.text.SimpleDateFormat import java.util.Locale class NetTruyen : WPComics("NetTruyen", "https://www.nettruyenss.com", "vi", SimpleDateFormat("dd/MM/yy", Locale.getDefault()), null) { override fun String.replaceSearchPath() = replace("/$searchPath?status=2&", "/truyen-full?") + /** + * NetTruyen/NhatTruyen redirect back to catalog page if searching query is not found. + * That makes both sites always return un-relevant results when searching should return empty. + */ + override fun searchMangaParse(response: Response): MangasPage { + if (response.request.url.queryParameter(name = queryParam) == null) { + return MangasPage(mangas = listOf(), hasNextPage = false) + } + return super.searchMangaParse(response) + } + override fun getGenreList(): Array> = arrayOf( null to "Tất cả", "action-95" to "Action", diff --git a/src/vi/nhattruyen/build.gradle b/src/vi/nhattruyen/build.gradle index f9e6f48a6..e69a0f963 100644 --- a/src/vi/nhattruyen/build.gradle +++ b/src/vi/nhattruyen/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.NhatTruyen' themePkg = 'wpcomics' baseUrl = 'https://nhattruyento.com' - overrideVersionCode = 14 + overrideVersionCode = 15 } apply from: "$rootDir/common.gradle" diff --git a/src/vi/nhattruyen/src/eu/kanade/tachiyomi/extension/vi/nhattruyen/NhatTruyen.kt b/src/vi/nhattruyen/src/eu/kanade/tachiyomi/extension/vi/nhattruyen/NhatTruyen.kt index 9b54c8e60..2018bbe1e 100644 --- a/src/vi/nhattruyen/src/eu/kanade/tachiyomi/extension/vi/nhattruyen/NhatTruyen.kt +++ b/src/vi/nhattruyen/src/eu/kanade/tachiyomi/extension/vi/nhattruyen/NhatTruyen.kt @@ -1,12 +1,25 @@ package eu.kanade.tachiyomi.extension.vi.nhattruyen import eu.kanade.tachiyomi.multisrc.wpcomics.WPComics +import eu.kanade.tachiyomi.source.model.MangasPage +import okhttp3.Response import java.text.SimpleDateFormat import java.util.Locale class NhatTruyen : WPComics("NhatTruyen", "https://nhattruyento.com", "vi", SimpleDateFormat("dd/MM/yy", Locale.getDefault()), null) { override val searchPath = "the-loai" + /** + * NetTruyen/NhatTruyen redirect back to catalog page if searching query is not found. + * That makes both sites always return un-relevant results when searching should return empty. + */ + override fun searchMangaParse(response: Response): MangasPage { + if (response.request.url.queryParameter(name = queryParam) == null) { + return MangasPage(mangas = listOf(), hasNextPage = false) + } + return super.searchMangaParse(response) + } + override fun getGenreList(): Array> = arrayOf( null to "Tất cả", "action" to "Action",