IMHentai: New Speechless Language Filter (#19206)
Added Speechless Language Filter
This commit is contained in:
parent
ed09873e52
commit
400bef1ea4
@ -5,7 +5,7 @@ ext {
|
|||||||
extName = 'IMHentai'
|
extName = 'IMHentai'
|
||||||
pkgNameSuffix = 'all.imhentai'
|
pkgNameSuffix = 'all.imhentai'
|
||||||
extClass = '.IMHentaiFactory'
|
extClass = '.IMHentaiFactory'
|
||||||
extVersionCode = 13
|
extVersionCode = 14
|
||||||
isNsfw = true
|
isNsfw = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,6 +110,14 @@ class IMHentai(override val lang: String, private val imhLang: String) : ParsedH
|
|||||||
private fun toBinary(boolean: Boolean) = if (boolean) "1" else "0"
|
private fun toBinary(boolean: Boolean) = if (boolean) "1" else "0"
|
||||||
|
|
||||||
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
|
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
|
||||||
|
if (filters.any { it is LanguageFilters && it.state.any { it.name == LANGUAGE_SPEECHLESS && it.state } }) { // edge case for language = speechless
|
||||||
|
val url = "$baseUrl/language/speechless/".toHttpUrlOrNull()!!.newBuilder()
|
||||||
|
|
||||||
|
if ((if (filters.isEmpty()) getFilterList() else filters).filterIsInstance<SortOrderFilter>()[0].state == 0) {
|
||||||
|
url.addPathSegment("popular")
|
||||||
|
}
|
||||||
|
return GET(url.toString())
|
||||||
|
} else {
|
||||||
val url = "$baseUrl/search".toHttpUrlOrNull()!!.newBuilder()
|
val url = "$baseUrl/search".toHttpUrlOrNull()!!.newBuilder()
|
||||||
.addQueryParameter("key", query)
|
.addQueryParameter("key", query)
|
||||||
.addQueryParameter("page", page.toString())
|
.addQueryParameter("page", page.toString())
|
||||||
@ -135,9 +143,9 @@ class IMHentai(override val lang: String, private val imhLang: String) : ParsedH
|
|||||||
else -> {}
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return GET(url.toString())
|
return GET(url.toString())
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun searchMangaSelector(): String = popularMangaSelector()
|
override fun searchMangaSelector(): String = popularMangaSelector()
|
||||||
|
|
||||||
@ -264,6 +272,7 @@ class IMHentai(override val lang: String, private val imhLang: String) : ParsedH
|
|||||||
SortOrderFilter(getSortOrderURIs(), sortOrderState),
|
SortOrderFilter(getSortOrderURIs(), sortOrderState),
|
||||||
CategoryFilters(getCategoryURIs()),
|
CategoryFilters(getCategoryURIs()),
|
||||||
LanguageFilters(getLanguageURIs().filter { it.name != imhLang }), // exclude main lang
|
LanguageFilters(getLanguageURIs().filter { it.name != imhLang }), // exclude main lang
|
||||||
|
Filter.Header("Speechless language: ignores all filters except \"Popular\" and \"Latest\" in Sorting Filter"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getCategoryURIs() = listOf(
|
private fun getCategoryURIs() = listOf(
|
||||||
@ -291,6 +300,7 @@ class IMHentai(override val lang: String, private val imhLang: String) : ParsedH
|
|||||||
LanguageFilter(LANGUAGE_KOREAN, "kr"),
|
LanguageFilter(LANGUAGE_KOREAN, "kr"),
|
||||||
LanguageFilter(LANGUAGE_GERMAN, "de"),
|
LanguageFilter(LANGUAGE_GERMAN, "de"),
|
||||||
LanguageFilter(LANGUAGE_RUSSIAN, "ru"),
|
LanguageFilter(LANGUAGE_RUSSIAN, "ru"),
|
||||||
|
LanguageFilter(LANGUAGE_SPEECHLESS, ""),
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getLanguageURIByName(name: String): LanguageFilter {
|
private fun getLanguageURIByName(name: String): LanguageFilter {
|
||||||
@ -312,5 +322,6 @@ class IMHentai(override val lang: String, private val imhLang: String) : ParsedH
|
|||||||
const val LANGUAGE_KOREAN = "Korean"
|
const val LANGUAGE_KOREAN = "Korean"
|
||||||
const val LANGUAGE_GERMAN = "German"
|
const val LANGUAGE_GERMAN = "German"
|
||||||
const val LANGUAGE_RUSSIAN = "Russian"
|
const val LANGUAGE_RUSSIAN = "Russian"
|
||||||
|
const val LANGUAGE_SPEECHLESS = "Speechless"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user