From c1c43bb6fbe9c967ebe474b9ec9f8f7d0c0c9ac9 Mon Sep 17 00:00:00 2001 From: NerdNumber9 Date: Sat, 31 Aug 2019 17:45:40 -0400 Subject: [PATCH] Add minimum/maximum pages filter to E-Hentai/ExHentai source --- .../tachiyomi/source/online/all/EHentai.kt | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt index 23158eb95..6a9ae7d10 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt @@ -608,6 +608,21 @@ class EHentai(override val id: Long, builder.appendQueryParameter(param, "on") } } + + open class PageOption(name: String, private val queryKey: String) : Filter.Text(name), UriFilter { + override fun addToUri(builder: Uri.Builder) { + if(state.isNotBlank()) { + if (builder.build().getQueryParameters("f_sp").isEmpty()) { + builder.appendQueryParameter("f_sp", "on") + } + + builder.appendQueryParameter(queryKey, state.trim()) + } + } + } + class MinPagesOption : PageOption("Minimum Pages", "f_spf") + class MaxPagesOption : PageOption("Maximum Pages", "f_spt") + class RatingOption : Filter.Select("Minimum Rating", arrayOf( "Any", "2 stars", @@ -632,7 +647,9 @@ class EHentai(override val id: Long, AdvancedOption("Search Low-Power Tags", "f_sdt1"), AdvancedOption("Search Downvoted Tags", "f_sdt2"), AdvancedOption("Show Expunged Galleries", "f_sh"), - RatingOption() + RatingOption(), + MinPagesOption(), + MaxPagesOption() )) class ReverseFilter : Filter.CheckBox("Reverse search results")