[RU]MangaLIb & YaoiLib fix agelimit filter & latestUpdates change (#13732)
* change redirect Exception massage * merge last and popular
This commit is contained in:
parent
0c6ff5bab9
commit
1cb0baf862
|
@ -52,8 +52,11 @@ class MangaLib : LibGroup("MangaLib", "https://mangalib.me", "ru") {
|
|||
(if (filters.isEmpty()) getFilterList() else filters).forEach { filter ->
|
||||
when (filter) {
|
||||
is AgeList -> filter.state.forEach { age ->
|
||||
if (age.state) {
|
||||
url.addQueryParameter("caution[]", age.id)
|
||||
if (age.state != Filter.TriState.STATE_IGNORE) {
|
||||
url.addQueryParameter(
|
||||
if (age.isIncluded()) "caution[include][]" else "caution[exclude][]",
|
||||
age.id
|
||||
)
|
||||
}
|
||||
}
|
||||
is TagList -> filter.state.forEach { tag ->
|
||||
|
@ -71,10 +74,9 @@ class MangaLib : LibGroup("MangaLib", "https://mangalib.me", "ru") {
|
|||
|
||||
// Filters
|
||||
private class SearchFilter(name: String, val id: String) : Filter.TriState(name)
|
||||
private class CheckFilter(name: String, val id: String) : Filter.CheckBox(name)
|
||||
|
||||
private class TagList(tags: List<SearchFilter>) : Filter.Group<SearchFilter>("Теги", tags)
|
||||
private class AgeList(ages: List<CheckFilter>) : Filter.Group<CheckFilter>("Возрастное ограничение", ages)
|
||||
private class AgeList(ages: List<SearchFilter>) : Filter.Group<SearchFilter>("Возрастное ограничение", ages)
|
||||
|
||||
override fun getFilterList(): FilterList {
|
||||
val filters = super.getFilterList().toMutableList()
|
||||
|
@ -185,9 +187,9 @@ class MangaLib : LibGroup("MangaLib", "https://mangalib.me", "ru") {
|
|||
)
|
||||
|
||||
private fun getAgeList() = listOf(
|
||||
CheckFilter("Отсутствует", "0"),
|
||||
CheckFilter("16+", "1"),
|
||||
CheckFilter("18+", "2")
|
||||
SearchFilter("Отсутствует", "0"),
|
||||
SearchFilter("16+", "1"),
|
||||
SearchFilter("18+", "2")
|
||||
)
|
||||
|
||||
companion object {
|
||||
|
|
|
@ -34,8 +34,11 @@ class YaoiLib : LibGroup("YaoiLib", "https://yaoilib.me", "ru") {
|
|||
(if (filters.isEmpty()) getFilterList() else filters).forEach { filter ->
|
||||
when (filter) {
|
||||
is AgeList -> filter.state.forEach { age ->
|
||||
if (age.state) {
|
||||
url.addQueryParameter("caution[]", age.id)
|
||||
if (age.state != Filter.TriState.STATE_IGNORE) {
|
||||
url.addQueryParameter(
|
||||
if (age.isIncluded()) "caution[include][]" else "caution[exclude][]",
|
||||
age.id
|
||||
)
|
||||
}
|
||||
}
|
||||
is TagList -> filter.state.forEach { tag ->
|
||||
|
@ -53,10 +56,9 @@ class YaoiLib : LibGroup("YaoiLib", "https://yaoilib.me", "ru") {
|
|||
|
||||
// Filters
|
||||
private class SearchFilter(name: String, val id: String) : Filter.TriState(name)
|
||||
private class CheckFilter(name: String, val id: String) : Filter.CheckBox(name)
|
||||
|
||||
private class TagList(tags: List<SearchFilter>) : Filter.Group<SearchFilter>("Теги", tags)
|
||||
private class AgeList(ages: List<CheckFilter>) : Filter.Group<CheckFilter>("Возрастное ограничение", ages)
|
||||
private class AgeList(ages: List<SearchFilter>) : Filter.Group<SearchFilter>("Возрастное ограничение", ages)
|
||||
|
||||
override fun getFilterList(): FilterList {
|
||||
val filters = super.getFilterList().toMutableList()
|
||||
|
@ -167,9 +169,9 @@ class YaoiLib : LibGroup("YaoiLib", "https://yaoilib.me", "ru") {
|
|||
)
|
||||
|
||||
private fun getAgeList() = listOf(
|
||||
CheckFilter("Отсутствует", "0"),
|
||||
CheckFilter("16+", "1"),
|
||||
CheckFilter("18+", "2")
|
||||
SearchFilter("Отсутствует", "0"),
|
||||
SearchFilter("16+", "1"),
|
||||
SearchFilter("18+", "2")
|
||||
)
|
||||
|
||||
companion object {
|
||||
|
|
|
@ -9,7 +9,7 @@ class LibGenerator : ThemeSourceGenerator {
|
|||
|
||||
override val themeClass = "LibGroup"
|
||||
|
||||
override val baseVersionCode: Int = 10
|
||||
override val baseVersionCode: Int = 11
|
||||
|
||||
override val sources = listOf(
|
||||
SingleLang("MangaLib", "https://mangalib.me", "ru", overrideVersionCode = 74),
|
||||
|
|
|
@ -124,23 +124,15 @@ abstract class LibGroup(
|
|||
}
|
||||
|
||||
private fun fetchLatestMangaFromApi(page: Int): Observable<MangasPage> {
|
||||
return client.newCall(POST("$baseUrl/latest-updates?page=$page", catalogHeaders()))
|
||||
return client.newCall(POST("$baseUrl/filterlist?dir=desc&sort=last_chapter_at&page=$page", catalogHeaders()))
|
||||
.asObservableSuccess()
|
||||
.map { response ->
|
||||
latestUpdatesParse(response)
|
||||
}
|
||||
}
|
||||
|
||||
override fun latestUpdatesParse(response: Response): MangasPage {
|
||||
val resBody = response.body!!.string()
|
||||
val result = json.decodeFromString<JsonObject>(resBody)
|
||||
val itemsLatest = result["data"]?.jsonArray?.map { popularMangaFromElement(it) }
|
||||
if (itemsLatest != null) {
|
||||
val hasNextPage = result["next_page_url"]?.jsonPrimitive?.contentOrNull != null
|
||||
return MangasPage(itemsLatest, hasNextPage)
|
||||
}
|
||||
return MangasPage(emptyList(), false)
|
||||
}
|
||||
override fun latestUpdatesParse(response: Response) =
|
||||
popularMangaParse(response)
|
||||
|
||||
// Popular
|
||||
override fun popularMangaRequest(page: Int) = GET(baseUrl, headers)
|
||||
|
|
Loading…
Reference in New Issue