MimiHentai: Use another UserAgent key, fix query in getListPage

master
dragonx943 9 months ago
parent a93140fc36
commit fd0df2414e
No known key found for this signature in database
GPG Key ID: 903893883B4D575E

@ -1 +1 @@
total: 1246 total: 1247

@ -5,6 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.config.ConfigKey import org.koitharu.kotatsu.parsers.config.ConfigKey
import org.koitharu.kotatsu.parsers.core.PagedMangaParser 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.model.*
import org.koitharu.kotatsu.parsers.util.* import org.koitharu.kotatsu.parsers.util.*
import org.koitharu.kotatsu.parsers.util.json.* import org.koitharu.kotatsu.parsers.util.json.*
@ -17,6 +18,7 @@ internal class MimiHentai(context: MangaLoaderContext) :
private val apiSuffix = "api/v1/manga" private val apiSuffix = "api/v1/manga"
override val configKeyDomain = ConfigKey.Domain("mimihentai.com", "hentaihvn.com") override val configKeyDomain = ConfigKey.Domain("mimihentai.com", "hentaihvn.com")
override val userAgentKey = ConfigKey.UserAgent(UserAgents.KOTATSU)
override suspend fun getFavicons(): Favicons { override suspend fun getFavicons(): Favicons {
return Favicons( return Favicons(
@ -44,6 +46,7 @@ internal class MimiHentai(context: MangaLoaderContext) :
override fun onCreateConfig(keys: MutableCollection<ConfigKey<*>>) { override fun onCreateConfig(keys: MutableCollection<ConfigKey<*>>) {
super.onCreateConfig(keys) super.onCreateConfig(keys)
keys.add(preferredServerKey) keys.add(preferredServerKey)
keys.remove(userAgentKey)
} }
override val availableSortOrders: Set<SortOrder> = EnumSet.of( override val availableSortOrders: Set<SortOrder> = EnumSet.of(
@ -76,32 +79,33 @@ internal class MimiHentai(context: MangaLoaderContext) :
append("https://") append("https://")
append("$domain/$apiSuffix") 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("/advance-search?page=")
append(page) append(page)
append("&max=18") // page size, avoid rate limit append("&max=18") // page size, avoid rate limit
when { if (!filter.query.isNullOrEmpty()) {
!filter.query.isNullOrEmpty() -> { append("&name=")
append("&name=") append(filter.query.urlEncoded())
append(filter.query.urlEncoded()) }
}
!filter.author.isNullOrEmpty() -> { if (!filter.author.isNullOrEmpty()) {
append("&author=") append("&author=")
append(filter.author.urlEncoded()) append(filter.author.urlEncoded())
} }
filter.tags.isNotEmpty() -> { if (filter.tags.isNotEmpty()) {
append("&genre=") append("&genre=")
append(filter.tags.joinToString(",") { it.key }) append(filter.tags.joinToString(",") { it.key })
} }
filter.tagsExclude.isNotEmpty() -> { if (filter.tagsExclude.isNotEmpty()) {
append("&ex=") append("&ex=")
append(filter.tagsExclude.joinToString(",") { it.key }) append(filter.tagsExclude.joinToString(",") { it.key })
} }
}
append("&sort=") append("&sort=")
append( append(

Loading…
Cancel
Save