Update filters for zoro (#1155)

This commit is contained in:
Secozzi
2023-01-11 11:57:17 +01:00
committed by GitHub
parent eb9a0ca0ab
commit e64018a7dd
3 changed files with 25 additions and 7 deletions

View File

@ -5,7 +5,7 @@ ext {
extName = 'zoro.to (experimental)' extName = 'zoro.to (experimental)'
pkgNameSuffix = 'en.zoro' pkgNameSuffix = 'en.zoro'
extClass = '.Zoro' extClass = '.Zoro'
extVersionCode = 16 extVersionCode = 17
libVersion = '13' libVersion = '13'
} }

View File

@ -265,10 +265,14 @@ class Zoro : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
query: String, query: String,
filters: ZoroFilters.FilterSearchParams filters: ZoroFilters.FilterSearchParams
): Request { ): Request {
val url = "$baseUrl/search?".toHttpUrlOrNull()!!.newBuilder() val url = if (query.isEmpty()) {
.addQueryParameter("page", page.toString()) "$baseUrl/filter".toHttpUrlOrNull()!!.newBuilder()
.addQueryParameter("keyword", query) .addQueryParameter("page", page.toString())
.addIfNotBlank("type", filters.type) } else {
"$baseUrl/search".toHttpUrlOrNull()!!.newBuilder()
.addQueryParameter("page", page.toString())
.addQueryParameter("keyword", query)
}.addIfNotBlank("type", filters.type)
.addIfNotBlank("status", filters.status) .addIfNotBlank("status", filters.status)
.addIfNotBlank("rated", filters.rated) .addIfNotBlank("rated", filters.rated)
.addIfNotBlank("score", filters.score) .addIfNotBlank("score", filters.score)
@ -277,8 +281,10 @@ class Zoro : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
.addIfNotBlank("sort", filters.sort) .addIfNotBlank("sort", filters.sort)
.addIfNotBlank("sy", filters.start_year) .addIfNotBlank("sy", filters.start_year)
.addIfNotBlank("sm", filters.start_month) .addIfNotBlank("sm", filters.start_month)
.addIfNotBlank("sd", filters.start_day)
.addIfNotBlank("ey", filters.end_year) .addIfNotBlank("ey", filters.end_year)
.addIfNotBlank("em", filters.end_month) .addIfNotBlank("em", filters.end_month)
.addIfNotBlank("ed", filters.end_day)
.addIfNotBlank("genres", filters.genres) .addIfNotBlank("genres", filters.genres)
return GET(url.build().toString()) return GET(url.build().toString())

View File

@ -34,9 +34,11 @@ object ZoroFilters {
class StartYearFilter : QueryPartFilter("Start year", ZoroFiltersData.years) class StartYearFilter : QueryPartFilter("Start year", ZoroFiltersData.years)
class StartMonthFilter : QueryPartFilter("Start month", ZoroFiltersData.months) class StartMonthFilter : QueryPartFilter("Start month", ZoroFiltersData.months)
class StartDayFilter : QueryPartFilter("Start day", ZoroFiltersData.days)
class EndYearFilter : QueryPartFilter("End year", ZoroFiltersData.years) class EndYearFilter : QueryPartFilter("End year", ZoroFiltersData.years)
class EndMonthFilter : QueryPartFilter("End month", ZoroFiltersData.months) class EndMonthFilter : QueryPartFilter("End month", ZoroFiltersData.months)
class EndDayFilter : QueryPartFilter("End day", ZoroFiltersData.days)
class GenresFilter : CheckBoxFilterList( class GenresFilter : CheckBoxFilterList(
"Genres", "Genres",
@ -55,8 +57,10 @@ object ZoroFilters {
StartYearFilter(), StartYearFilter(),
StartMonthFilter(), StartMonthFilter(),
StartDayFilter(),
EndYearFilter(), EndYearFilter(),
EndMonthFilter(), EndMonthFilter(),
EndDayFilter(),
AnimeFilter.Separator(), AnimeFilter.Separator(),
GenresFilter() GenresFilter()
@ -72,8 +76,10 @@ object ZoroFilters {
val sort: String = "", val sort: String = "",
val start_year: String = "", val start_year: String = "",
val start_month: String = "", val start_month: String = "",
val start_day: String = "",
val end_year: String = "", val end_year: String = "",
val end_month: String = "", val end_month: String = "",
val end_day: String = "",
val genres: String = "" val genres: String = ""
) )
@ -99,8 +105,10 @@ object ZoroFilters {
filters.asQueryPart<StartYearFilter>(), filters.asQueryPart<StartYearFilter>(),
filters.asQueryPart<StartMonthFilter>(), filters.asQueryPart<StartMonthFilter>(),
filters.asQueryPart<StartDayFilter>(),
filters.asQueryPart<EndYearFilter>(), filters.asQueryPart<EndYearFilter>(),
filters.asQueryPart<EndMonthFilter>(), filters.asQueryPart<EndMonthFilter>(),
filters.asQueryPart<EndDayFilter>(),
genres genres
) )
@ -176,11 +184,15 @@ object ZoroFilters {
Pair("Most Watched", "most_watched") 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()) Pair(it.toString(), it.toString())
}.toTypedArray() }.toTypedArray()
val months = arrayOf(all) + (1..12).map { val days = arrayOf(all) + (1..31).map {
Pair(it.toString(), it.toString()) Pair(it.toString(), it.toString())
}.toTypedArray() }.toTypedArray()