From fd0df2414e354aba82cc753daa4e2e240451383b Mon Sep 17 00:00:00 2001 From: dragonx943 Date: Sat, 16 Aug 2025 10:58:29 +0700 Subject: [PATCH] MimiHentai: Use another UserAgent key, fix query in getListPage --- .github/summary.yaml | 2 +- .../kotatsu/parsers/site/vi/MimiHentai.kt | 44 ++++++++++--------- 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/.github/summary.yaml b/.github/summary.yaml index 7f18bdb5..a31d737e 100644 --- a/.github/summary.yaml +++ b/.github/summary.yaml @@ -1 +1 @@ -total: 1246 \ No newline at end of file +total: 1247 \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/MimiHentai.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/MimiHentai.kt index faa665b1..e142fd9a 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/MimiHentai.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/MimiHentai.kt @@ -5,6 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.config.ConfigKey import org.koitharu.kotatsu.parsers.core.PagedMangaParser +import org.koitharu.kotatsu.parsers.network.UserAgents import org.koitharu.kotatsu.parsers.model.* import org.koitharu.kotatsu.parsers.util.* import org.koitharu.kotatsu.parsers.util.json.* @@ -17,6 +18,7 @@ internal class MimiHentai(context: MangaLoaderContext) : private val apiSuffix = "api/v1/manga" override val configKeyDomain = ConfigKey.Domain("mimihentai.com", "hentaihvn.com") + override val userAgentKey = ConfigKey.UserAgent(UserAgents.KOTATSU) override suspend fun getFavicons(): Favicons { return Favicons( @@ -44,6 +46,7 @@ internal class MimiHentai(context: MangaLoaderContext) : override fun onCreateConfig(keys: MutableCollection>) { super.onCreateConfig(keys) keys.add(preferredServerKey) + keys.remove(userAgentKey) } override val availableSortOrders: Set = EnumSet.of( @@ -76,32 +79,33 @@ internal class MimiHentai(context: MangaLoaderContext) : append("https://") append("$domain/$apiSuffix") - if (!filter.query.isNullOrEmpty() || !filter.author.isNullOrEmpty() || filter.tags.isNotEmpty()) { + if (!filter.query.isNullOrEmpty() || + !filter.author.isNullOrEmpty() || + filter.tags.isNotEmpty() + ) { append("/advance-search?page=") append(page) append("&max=18") // page size, avoid rate limit - - when { - !filter.query.isNullOrEmpty() -> { - append("&name=") - append(filter.query.urlEncoded()) - } - !filter.author.isNullOrEmpty() -> { - append("&author=") - append(filter.author.urlEncoded()) - } + if (!filter.query.isNullOrEmpty()) { + append("&name=") + append(filter.query.urlEncoded()) + } - filter.tags.isNotEmpty() -> { - append("&genre=") - append(filter.tags.joinToString(",") { it.key }) - } + if (!filter.author.isNullOrEmpty()) { + append("&author=") + append(filter.author.urlEncoded()) + } - filter.tagsExclude.isNotEmpty() -> { - append("&ex=") - append(filter.tagsExclude.joinToString(",") { it.key }) - } - } + if (filter.tags.isNotEmpty()) { + append("&genre=") + append(filter.tags.joinToString(",") { it.key }) + } + + if (filter.tagsExclude.isNotEmpty()) { + append("&ex=") + append(filter.tagsExclude.joinToString(",") { it.key }) + } append("&sort=") append(