MangaAlarab: some fixes (#8786)
Fix wrong Latest update page Fix some Filters
This commit is contained in:
parent
4d1bc517f2
commit
8fbd3ab39d
|
@ -5,7 +5,7 @@ ext {
|
||||||
extName = 'مانجا العرب'
|
extName = 'مانجا العرب'
|
||||||
pkgNameSuffix = 'ar.mangaalarab'
|
pkgNameSuffix = 'ar.mangaalarab'
|
||||||
extClass = '.MangaAlarab'
|
extClass = '.MangaAlarab'
|
||||||
extVersionCode = 4
|
extVersionCode = 5
|
||||||
libVersion = '1.2'
|
libVersion = '1.2'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,9 +51,17 @@ class MangaAlarab : ParsedHttpSource() {
|
||||||
return GET(baseUrl)
|
return GET(baseUrl)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun latestUpdatesSelector() = popularMangaSelector()
|
override fun latestUpdatesSelector() = "section:nth-child(5) > div.container > div > article"
|
||||||
|
|
||||||
override fun latestUpdatesFromElement(element: Element): SManga = popularMangaFromElement(element)
|
override fun latestUpdatesFromElement(element: Element): SManga {
|
||||||
|
return SManga.create().apply {
|
||||||
|
element.select("figure > a").let {
|
||||||
|
setUrlWithoutDomain(it.attr("abs:href"))
|
||||||
|
title = element.select("img").attr("title")
|
||||||
|
thumbnail_url = element.select("img").attr("data-src")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun latestUpdatesNextPageSelector(): String? = null
|
override fun latestUpdatesNextPageSelector(): String? = null
|
||||||
|
|
||||||
|
@ -68,8 +76,16 @@ class MangaAlarab : ParsedHttpSource() {
|
||||||
when (filter) {
|
when (filter) {
|
||||||
is SortFilter -> url.addQueryParameter("order", filter.toUriPart())
|
is SortFilter -> url.addQueryParameter("order", filter.toUriPart())
|
||||||
is OTypeFilter -> url.addQueryParameter("order_type", filter.toUriPart())
|
is OTypeFilter -> url.addQueryParameter("order_type", filter.toUriPart())
|
||||||
is StatusFilter -> url.addQueryParameter("statuses[]", filter.toUriPart())
|
is StatusFilter -> {
|
||||||
is TypeFilter -> url.addQueryParameter("types[]", filter.toUriPart())
|
filter.state
|
||||||
|
.filter { it.state != Filter.TriState.STATE_IGNORE }
|
||||||
|
.forEach { url.addQueryParameter("statuses[]", it.id) }
|
||||||
|
}
|
||||||
|
is TypeFilter -> {
|
||||||
|
filter.state
|
||||||
|
.filter { it.state != Filter.TriState.STATE_IGNORE }
|
||||||
|
.forEach { url.addQueryParameter("types[]", it.id) }
|
||||||
|
}
|
||||||
is GenreFilter -> {
|
is GenreFilter -> {
|
||||||
filter.state
|
filter.state
|
||||||
.filter { it.state != Filter.TriState.STATE_IGNORE }
|
.filter { it.state != Filter.TriState.STATE_IGNORE }
|
||||||
|
@ -151,26 +167,30 @@ class MangaAlarab : ParsedHttpSource() {
|
||||||
|
|
||||||
override fun imageUrlParse(document: Document): String = throw UnsupportedOperationException("Not used")
|
override fun imageUrlParse(document: Document): String = throw UnsupportedOperationException("Not used")
|
||||||
|
|
||||||
|
// Filters
|
||||||
|
|
||||||
override fun getFilterList() = FilterList(
|
override fun getFilterList() = FilterList(
|
||||||
Filter.Header("NOTE: Ignored if using text search!"),
|
Filter.Header("NOTE: Ignored if using text search!"),
|
||||||
Filter.Separator(),
|
Filter.Separator(),
|
||||||
SortFilter(getSortFilters()),
|
SortFilter(getSortFilters()),
|
||||||
OTypeFilter(getOTypeFilters()),
|
OTypeFilter(getOTypeFilters()),
|
||||||
Filter.Separator(),
|
|
||||||
Filter.Header("Genre exclusion not available for all sources"),
|
|
||||||
StatusFilter(getStatusFilters()),
|
|
||||||
TypeFilter(getTypeFilter()),
|
|
||||||
GenresSelection(getGenresSelection()),
|
GenresSelection(getGenresSelection()),
|
||||||
Filter.Separator(),
|
Filter.Separator(),
|
||||||
Filter.Header("Genre exclusion not available for all sources"),
|
Filter.Header("exclusion not available for This source"),
|
||||||
|
StatusFilter(getStatusFilters()),
|
||||||
|
TypeFilter(getTypeFilter()),
|
||||||
|
Filter.Separator(),
|
||||||
|
Filter.Header("Genre exclusion not available for This source"),
|
||||||
GenreFilter(getGenreFilters()),
|
GenreFilter(getGenreFilters()),
|
||||||
)
|
)
|
||||||
|
|
||||||
private class SortFilter(vals: Array<Pair<String?, String>>) : UriPartFilter("Order by", vals)
|
private class SortFilter(vals: Array<Pair<String?, String>>) : UriPartFilter("Order by", vals)
|
||||||
private class OTypeFilter(vals: Array<Pair<String?, String>>) : UriPartFilter("Order Type", vals)
|
private class OTypeFilter(vals: Array<Pair<String?, String>>) : UriPartFilter("Order Type", vals)
|
||||||
private class TypeFilter(vals: Array<Pair<String?, String>>) : UriPartFilter("Type", vals)
|
|
||||||
private class StatusFilter(vals: Array<Pair<String?, String>>) : UriPartFilter("Status", vals)
|
|
||||||
private class GenresSelection(vals: Array<Pair<String?, String>>) : UriPartFilter("Genres Selection", vals)
|
private class GenresSelection(vals: Array<Pair<String?, String>>) : UriPartFilter("Genres Selection", vals)
|
||||||
|
class Type(name: String, val id: String = name) : Filter.TriState(name)
|
||||||
|
private class TypeFilter(types: List<Type>) : Filter.Group<Type>("Type", types)
|
||||||
|
class Status(name: String, val id: String = name) : Filter.TriState(name)
|
||||||
|
private class StatusFilter(statuses: List<Status>) : Filter.Group<Status>("Status", statuses)
|
||||||
class Genre(name: String, val id: String = name) : Filter.TriState(name)
|
class Genre(name: String, val id: String = name) : Filter.TriState(name)
|
||||||
private class GenreFilter(genres: List<Genre>) : Filter.Group<Genre>("Genre", genres)
|
private class GenreFilter(genres: List<Genre>) : Filter.Group<Genre>("Genre", genres)
|
||||||
|
|
||||||
|
@ -187,20 +207,18 @@ class MangaAlarab : ParsedHttpSource() {
|
||||||
Pair("asc", "تصاعدي")
|
Pair("asc", "تصاعدي")
|
||||||
)
|
)
|
||||||
|
|
||||||
open fun getStatusFilters(): Array<Pair<String?, String>> = arrayOf(
|
open fun getStatusFilters(): List<Status> = listOf(
|
||||||
Pair("", "<select>"),
|
Status("مكتملة", "completed"),
|
||||||
Pair("completed", "مكتملة"),
|
Status("مستمرة", "ongoing"),
|
||||||
Pair("ongoing", "مستمرة"),
|
Status("متوقفة", "cancelled"),
|
||||||
Pair("cancelled", "متوقفة"),
|
Status("في الانتظار", "onhold")
|
||||||
Pair("onhold", "في الانتظار")
|
|
||||||
)
|
)
|
||||||
|
|
||||||
open fun getTypeFilter(): Array<Pair<String?, String>> = arrayOf(
|
open fun getTypeFilter(): List<Type> = listOf(
|
||||||
Pair("", "<select>"),
|
Type("صينية (مانها)", "manhua"),
|
||||||
Pair("manhua", "صينية (مانها)"),
|
Type("كورية (مانهوا)", "manhwa"),
|
||||||
Pair("manhwa", "كورية (مانهوا)"),
|
Type("انجليزية", "english"),
|
||||||
Pair("english", "انجليزية"),
|
Type("مانجا (يابانية)", "manga")
|
||||||
Pair("manga", "مانجا (يابانية)")
|
|
||||||
)
|
)
|
||||||
|
|
||||||
open fun getGenresSelection(): Array<Pair<String?, String>> = arrayOf(
|
open fun getGenresSelection(): Array<Pair<String?, String>> = arrayOf(
|
||||||
|
|
Loading…
Reference in New Issue