feat(es/jkanime): Add airing day filter (#1982)
This commit is contained in:
@ -5,7 +5,7 @@ ext {
|
|||||||
extName = 'Jkanime'
|
extName = 'Jkanime'
|
||||||
pkgNameSuffix = 'es.jkanime'
|
pkgNameSuffix = 'es.jkanime'
|
||||||
extClass = '.Jkanime'
|
extClass = '.Jkanime'
|
||||||
extVersionCode = 14
|
extVersionCode = 15
|
||||||
libVersion = '13'
|
libVersion = '13'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,8 +147,15 @@ class Jkanime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
val orderByFilter = filterList.find { it is OrderByFilter } as OrderByFilter
|
val orderByFilter = filterList.find { it is OrderByFilter } as OrderByFilter
|
||||||
val sortModifiers = filterList.find { it is SortModifiers } as SortModifiers
|
val sortModifiers = filterList.find { it is SortModifiers } as SortModifiers
|
||||||
val tagFilter = filters.find { it is Tags } as Tags
|
val tagFilter = filters.find { it is Tags } as Tags
|
||||||
|
val dayFilter = filters.find { it is DayFilter } as DayFilter
|
||||||
|
|
||||||
var url = baseUrl
|
var url = baseUrl
|
||||||
|
|
||||||
|
if (dayFilter.state != 0) {
|
||||||
|
val day = dayFilter.toUriPart()
|
||||||
|
return GET("$url/horario/#$day", headers)
|
||||||
|
}
|
||||||
|
|
||||||
if (query.isNotBlank()) {
|
if (query.isNotBlank()) {
|
||||||
val types = listOf("TV", "Movie", "Special", "OVA", "ONA")
|
val types = listOf("TV", "Movie", "Special", "OVA", "ONA")
|
||||||
url += "/buscar/$query/$page/"
|
url += "/buscar/$query/$page/"
|
||||||
@ -171,6 +178,18 @@ class Jkanime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
|
|
||||||
override fun searchAnimeParse(response: Response): AnimesPage {
|
override fun searchAnimeParse(response: Response): AnimesPage {
|
||||||
val document = response.asJsoup()
|
val document = response.asJsoup()
|
||||||
|
if (document.location().startsWith("$baseUrl/horario")) {
|
||||||
|
val day = document.location().substringAfterLast("#")
|
||||||
|
val animeBox = document.selectFirst("div.horarybox div.box.semana:has(h2:contains($day))")
|
||||||
|
val animeList = animeBox!!.select("div.box.img").map {
|
||||||
|
SAnime.create().apply {
|
||||||
|
setUrlWithoutDomain(it.select("a").attr("abs:href"))
|
||||||
|
title = it.select("a > h3").text()
|
||||||
|
thumbnail_url = it.select("a > img").attr("abs:src")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return AnimesPage(animeList, false)
|
||||||
|
}
|
||||||
val hasNextPage = document.select("section.contenido.spad div.container div.navigation a.nav-next").any()
|
val hasNextPage = document.select("section.contenido.spad div.container div.navigation a.nav-next").any()
|
||||||
val isSearch = document.select(".col-lg-2.col-md-6.col-sm-6").any()
|
val isSearch = document.select(".col-lg-2.col-md-6.col-sm-6").any()
|
||||||
val animeList = if (isSearch) {
|
val animeList = if (isSearch) {
|
||||||
@ -244,6 +263,7 @@ class Jkanime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
|
|
||||||
override fun getFilterList(): AnimeFilterList = AnimeFilterList(
|
override fun getFilterList(): AnimeFilterList = AnimeFilterList(
|
||||||
AnimeFilter.Header("La busqueda por texto no incluye todos los filtros"),
|
AnimeFilter.Header("La busqueda por texto no incluye todos los filtros"),
|
||||||
|
DayFilter(),
|
||||||
GenreFilter(),
|
GenreFilter(),
|
||||||
TypeFilter(),
|
TypeFilter(),
|
||||||
StateFilter(),
|
StateFilter(),
|
||||||
@ -302,6 +322,20 @@ class Jkanime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
private class DayFilter : UriPartFilter(
|
||||||
|
"Dia de emisión",
|
||||||
|
arrayOf(
|
||||||
|
Pair("<Selecionar>", ""),
|
||||||
|
Pair("Lunes", "Lunes"),
|
||||||
|
Pair("Martes", "Martes"),
|
||||||
|
Pair("Miércoles", "Miércoles"),
|
||||||
|
Pair("Jueves", "Jueves"),
|
||||||
|
Pair("Viernes", "Viernes"),
|
||||||
|
Pair("Sábado", "Sábado"),
|
||||||
|
Pair("Domingo", "Domingo"),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
private class TypeFilter : UriPartFilter(
|
private class TypeFilter : UriPartFilter(
|
||||||
"Tipo",
|
"Tipo",
|
||||||
arrayOf(
|
arrayOf(
|
||||||
|
Reference in New Issue
Block a user