From e64018a7dd40cbe1444f0b7be614cd545b4dd931 Mon Sep 17 00:00:00 2001 From: Secozzi <49240133+Secozzi@users.noreply.github.com> Date: Wed, 11 Jan 2023 11:57:17 +0100 Subject: [PATCH] Update filters for zoro (#1155) --- src/en/zoro/build.gradle | 2 +- .../tachiyomi/animeextension/en/zoro/Zoro.kt | 14 ++++++++++---- .../animeextension/en/zoro/ZoroFilters.kt | 16 ++++++++++++++-- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/src/en/zoro/build.gradle b/src/en/zoro/build.gradle index 60ab95dc1..cc3657d84 100644 --- a/src/en/zoro/build.gradle +++ b/src/en/zoro/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'zoro.to (experimental)' pkgNameSuffix = 'en.zoro' extClass = '.Zoro' - extVersionCode = 16 + extVersionCode = 17 libVersion = '13' } diff --git a/src/en/zoro/src/eu/kanade/tachiyomi/animeextension/en/zoro/Zoro.kt b/src/en/zoro/src/eu/kanade/tachiyomi/animeextension/en/zoro/Zoro.kt index 7e320b66c..2edda8b63 100644 --- a/src/en/zoro/src/eu/kanade/tachiyomi/animeextension/en/zoro/Zoro.kt +++ b/src/en/zoro/src/eu/kanade/tachiyomi/animeextension/en/zoro/Zoro.kt @@ -265,10 +265,14 @@ class Zoro : ConfigurableAnimeSource, ParsedAnimeHttpSource() { query: String, filters: ZoroFilters.FilterSearchParams ): Request { - val url = "$baseUrl/search?".toHttpUrlOrNull()!!.newBuilder() - .addQueryParameter("page", page.toString()) - .addQueryParameter("keyword", query) - .addIfNotBlank("type", filters.type) + val url = if (query.isEmpty()) { + "$baseUrl/filter".toHttpUrlOrNull()!!.newBuilder() + .addQueryParameter("page", page.toString()) + } else { + "$baseUrl/search".toHttpUrlOrNull()!!.newBuilder() + .addQueryParameter("page", page.toString()) + .addQueryParameter("keyword", query) + }.addIfNotBlank("type", filters.type) .addIfNotBlank("status", filters.status) .addIfNotBlank("rated", filters.rated) .addIfNotBlank("score", filters.score) @@ -277,8 +281,10 @@ class Zoro : ConfigurableAnimeSource, ParsedAnimeHttpSource() { .addIfNotBlank("sort", filters.sort) .addIfNotBlank("sy", filters.start_year) .addIfNotBlank("sm", filters.start_month) + .addIfNotBlank("sd", filters.start_day) .addIfNotBlank("ey", filters.end_year) .addIfNotBlank("em", filters.end_month) + .addIfNotBlank("ed", filters.end_day) .addIfNotBlank("genres", filters.genres) return GET(url.build().toString()) diff --git a/src/en/zoro/src/eu/kanade/tachiyomi/animeextension/en/zoro/ZoroFilters.kt b/src/en/zoro/src/eu/kanade/tachiyomi/animeextension/en/zoro/ZoroFilters.kt index 0149f40d3..dc70c9fc9 100644 --- a/src/en/zoro/src/eu/kanade/tachiyomi/animeextension/en/zoro/ZoroFilters.kt +++ b/src/en/zoro/src/eu/kanade/tachiyomi/animeextension/en/zoro/ZoroFilters.kt @@ -34,9 +34,11 @@ object ZoroFilters { class StartYearFilter : QueryPartFilter("Start year", ZoroFiltersData.years) class StartMonthFilter : QueryPartFilter("Start month", ZoroFiltersData.months) + class StartDayFilter : QueryPartFilter("Start day", ZoroFiltersData.days) class EndYearFilter : QueryPartFilter("End year", ZoroFiltersData.years) class EndMonthFilter : QueryPartFilter("End month", ZoroFiltersData.months) + class EndDayFilter : QueryPartFilter("End day", ZoroFiltersData.days) class GenresFilter : CheckBoxFilterList( "Genres", @@ -55,8 +57,10 @@ object ZoroFilters { StartYearFilter(), StartMonthFilter(), + StartDayFilter(), EndYearFilter(), EndMonthFilter(), + EndDayFilter(), AnimeFilter.Separator(), GenresFilter() @@ -72,8 +76,10 @@ object ZoroFilters { val sort: String = "", val start_year: String = "", val start_month: String = "", + val start_day: String = "", val end_year: String = "", val end_month: String = "", + val end_day: String = "", val genres: String = "" ) @@ -99,8 +105,10 @@ object ZoroFilters { filters.asQueryPart(), filters.asQueryPart(), + filters.asQueryPart(), filters.asQueryPart(), filters.asQueryPart(), + filters.asQueryPart(), genres ) @@ -176,11 +184,15 @@ object ZoroFilters { Pair("Most Watched", "most_watched") ) - val years = arrayOf(all) + (1917..2022).map { + val years = arrayOf(all) + (1917..2023).map { + Pair(it.toString(), it.toString()) + }.reversed().toTypedArray() + + val months = arrayOf(all) + (1..12).map { Pair(it.toString(), it.toString()) }.toTypedArray() - val months = arrayOf(all) + (1..12).map { + val days = arrayOf(all) + (1..31).map { Pair(it.toString(), it.toString()) }.toTypedArray()