From 76c7d2a0a708143ce79458e4980f21295cfc411a Mon Sep 17 00:00:00 2001 From: are-are-are <62763969+dejavui@users.noreply.github.com> Date: Sat, 30 Aug 2025 18:24:23 +0700 Subject: [PATCH] MiMiHentai: Update search support exclude tag and remove 'yaoi' tag from Latest/Popular page (#10277) * Update search and Remove yaoi tag from latest and popular page People suggest removing this tag from newest and most popular pages and support to remove the tag when the web allows it * Update pageListParse & PageListDto --- src/vi/mimihentai/build.gradle | 2 +- .../kanade/tachiyomi/extension/vi/mimihentai/Dto.kt | 8 +++++++- .../tachiyomi/extension/vi/mimihentai/MiMiHentai.kt | 13 +++++++++---- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/vi/mimihentai/build.gradle b/src/vi/mimihentai/build.gradle index a3737d38e..46092426b 100644 --- a/src/vi/mimihentai/build.gradle +++ b/src/vi/mimihentai/build.gradle @@ -1,7 +1,7 @@ ext { extName = "MiMiHentai" extClass = ".MiMiHentai" - extVersionCode = 2 + extVersionCode = 3 isNsfw = true } apply from: "$rootDir/common.gradle" diff --git a/src/vi/mimihentai/src/eu/kanade/tachiyomi/extension/vi/mimihentai/Dto.kt b/src/vi/mimihentai/src/eu/kanade/tachiyomi/extension/vi/mimihentai/Dto.kt index 7a8846146..e7a47e918 100644 --- a/src/vi/mimihentai/src/eu/kanade/tachiyomi/extension/vi/mimihentai/Dto.kt +++ b/src/vi/mimihentai/src/eu/kanade/tachiyomi/extension/vi/mimihentai/Dto.kt @@ -60,7 +60,13 @@ private val dateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSS", Locale @Serializable class PageListDto( - val pages: List, + val pages: List, +) + +@Serializable +class ListPages( + val imageUrl: String, + val drm: String? = null, ) @Serializable diff --git a/src/vi/mimihentai/src/eu/kanade/tachiyomi/extension/vi/mimihentai/MiMiHentai.kt b/src/vi/mimihentai/src/eu/kanade/tachiyomi/extension/vi/mimihentai/MiMiHentai.kt index 128a037b6..5f86e5659 100644 --- a/src/vi/mimihentai/src/eu/kanade/tachiyomi/extension/vi/mimihentai/MiMiHentai.kt +++ b/src/vi/mimihentai/src/eu/kanade/tachiyomi/extension/vi/mimihentai/MiMiHentai.kt @@ -44,6 +44,7 @@ class MiMiHentai : HttpSource() { addPathSegments("tatcatruyen") addQueryParameter("page", (page - 1).toString()) addQueryParameter("sort", "updated_at") + addQueryParameter("ex", "196") }.build(), headers, ) @@ -101,7 +102,7 @@ class MiMiHentai : HttpSource() { override fun pageListParse(response: Response): List { val res = response.parseAs() return res.pages.mapIndexed { index, url -> - Page(index, imageUrl = url) + Page(index, imageUrl = url.imageUrl) } } @@ -112,6 +113,7 @@ class MiMiHentai : HttpSource() { addPathSegments("tatcatruyen") addQueryParameter("page", (page - 1).toString()) addQueryParameter("sort", "views") + addQueryParameter("ex", "196") }.build(), headers, ) @@ -156,8 +158,11 @@ class MiMiHentai : HttpSource() { val sort = getSortByList()[filters.state] addQueryParameter("sort", sort.id) } - is GenreList -> { - filters.state.forEach { genre -> if (genre.state) addQueryParameter("genre", genre.id) } + is GenreList -> filters.state.forEach { + when (it.state) { + Filter.TriState.STATE_INCLUDE -> addQueryParameter("genre", it.id) + Filter.TriState.STATE_EXCLUDE -> addQueryParameter("ex", it.id) + } } is TextField -> setQueryParameter(filters.key, filters.state) else -> {} @@ -197,7 +202,7 @@ class MiMiHentai : HttpSource() { private class GenreList(name: String, pairs: List>) : GenresFilter(name, pairs) private open class GenresFilter(title: String, pairs: List>) : Filter.Group(title, pairs.map { GenreCheckBox(it.second, it.first.toString()) }) - class GenreCheckBox(name: String, val id: String = name) : Filter.CheckBox(name) + class GenreCheckBox(name: String, val id: String = name) : Filter.TriState(name) private class SortByList(sort: Array) : Filter.Select("Sắp xếp", sort) private class SortBy(name: String, val id: String) : Filter.CheckBox(name) {