Luscious new filters (#6988)
* Update Luscious.kt * Update LusciousGenerator.kt
This commit is contained in:
parent
1db6f31ae6
commit
a76d5bc782
@ -74,6 +74,8 @@ abstract class Luscious(
|
|||||||
val interestsFilter = filters.findInstance<InterestGroupFilter>()!!
|
val interestsFilter = filters.findInstance<InterestGroupFilter>()!!
|
||||||
val languagesFilter = filters.findInstance<LanguageGroupFilter>()!!
|
val languagesFilter = filters.findInstance<LanguageGroupFilter>()!!
|
||||||
val tagsFilter = filters.findInstance<TagTextFilters>()!!
|
val tagsFilter = filters.findInstance<TagTextFilters>()!!
|
||||||
|
val creatorFilter = filters.findInstance<CreatorTextFilters>()!!
|
||||||
|
val favoriteFilter = filters.findInstance<FavoriteTextFilters>()!!
|
||||||
val genreFilter = filters.findInstance<GenreGroupFilter>()!!
|
val genreFilter = filters.findInstance<GenreGroupFilter>()!!
|
||||||
val contentTypeFilter = filters.findInstance<ContentTypeSelectFilter>()!!
|
val contentTypeFilter = filters.findInstance<ContentTypeSelectFilter>()!!
|
||||||
val albumSizeFilter = filters.findInstance<AlbumSizeSelectFilter>()!!
|
val albumSizeFilter = filters.findInstance<AlbumSizeSelectFilter>()!!
|
||||||
@ -126,6 +128,24 @@ abstract class Luscious(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (creatorFilter.state.isNotEmpty()) {
|
||||||
|
add(
|
||||||
|
JsonObject().apply {
|
||||||
|
addProperty("name", "created_by_id")
|
||||||
|
addProperty("value", creatorFilter.state)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (favoriteFilter.state.isNotEmpty()) {
|
||||||
|
add(
|
||||||
|
JsonObject().apply {
|
||||||
|
addProperty("name", "favorite_by_user_id")
|
||||||
|
addProperty("value", favoriteFilter.state)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
if (genreFilter.anyNotIgnored()) {
|
if (genreFilter.anyNotIgnored()) {
|
||||||
add(genreFilter.toJsonObject("genre_ids"))
|
add(genreFilter.toJsonObject("genre_ids"))
|
||||||
}
|
}
|
||||||
@ -364,11 +384,17 @@ abstract class Luscious(
|
|||||||
// Details
|
// Details
|
||||||
|
|
||||||
override fun mangaDetailsRequest(manga: SManga): Request {
|
override fun mangaDetailsRequest(manga: SManga): Request {
|
||||||
val id = manga.url.substringAfterLast("_").removeSuffix("/")
|
return GET("$baseUrl${manga.url}", headers)
|
||||||
return buildAlbumInfoRequest(id)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun mangaDetailsParse(response: Response): SManga {
|
override fun fetchMangaDetails(manga: SManga): Observable<SManga> {
|
||||||
|
val id = manga.url.substringAfterLast("_").removeSuffix("/")
|
||||||
|
return client.newCall(buildAlbumInfoRequest(id))
|
||||||
|
.asObservableSuccess()
|
||||||
|
.map { detailsParse(it) }
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun detailsParse(response: Response): SManga {
|
||||||
val data = gson.fromJson<JsonObject>(response.body!!.string())
|
val data = gson.fromJson<JsonObject>(response.body!!.string())
|
||||||
with(data["data"]["album"]["get"]) {
|
with(data["data"]["album"]["get"]) {
|
||||||
val manga = SManga.create()
|
val manga = SManga.create()
|
||||||
@ -400,6 +426,7 @@ abstract class Luscious(
|
|||||||
return manga
|
return manga
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
override fun mangaDetailsParse(response: Response): SManga = throw UnsupportedOperationException("Not used")
|
||||||
|
|
||||||
// Popular
|
// Popular
|
||||||
|
|
||||||
@ -470,6 +497,8 @@ abstract class Luscious(
|
|||||||
class RestrictGenresSelectFilter(options: List<SelectFilterOption>) : SelectFilter("Restrict Genres", options)
|
class RestrictGenresSelectFilter(options: List<SelectFilterOption>) : SelectFilter("Restrict Genres", options)
|
||||||
class AlbumSizeSelectFilter(options: List<SelectFilterOption>) : SelectFilter("Album Size", options)
|
class AlbumSizeSelectFilter(options: List<SelectFilterOption>) : SelectFilter("Album Size", options)
|
||||||
class TagTextFilters : TextFilter("Tags")
|
class TagTextFilters : TextFilter("Tags")
|
||||||
|
class CreatorTextFilters : TextFilter("Uploader")
|
||||||
|
class FavoriteTextFilters : TextFilter("Favorite by User")
|
||||||
override fun getFilterList(): FilterList = getSortFilters(POPULAR_DEFAULT_SORT_STATE)
|
override fun getFilterList(): FilterList = getSortFilters(POPULAR_DEFAULT_SORT_STATE)
|
||||||
|
|
||||||
private fun getSortFilters(sortState: Int) = FilterList(
|
private fun getSortFilters(sortState: Int) = FilterList(
|
||||||
@ -484,6 +513,9 @@ abstract class Luscious(
|
|||||||
Filter.Header("Separate tags with commas (,)"),
|
Filter.Header("Separate tags with commas (,)"),
|
||||||
Filter.Header("Prepend with dash (-) to exclude"),
|
Filter.Header("Prepend with dash (-) to exclude"),
|
||||||
TagTextFilters(),
|
TagTextFilters(),
|
||||||
|
Filter.Header("The following require username or ID"),
|
||||||
|
CreatorTextFilters(),
|
||||||
|
FavoriteTextFilters(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ class LusciousGenerator : ThemeSourceGenerator {
|
|||||||
|
|
||||||
override val themeClass = "Luscious"
|
override val themeClass = "Luscious"
|
||||||
|
|
||||||
override val baseVersionCode: Int = 8
|
override val baseVersionCode: Int = 9
|
||||||
|
|
||||||
override val sources = listOf(
|
override val sources = listOf(
|
||||||
MultiLang("Luscious", "https://www.luscious.net", listOf("en","ja", "es", "it", "de", "fr", "zh", "ko", "other", "pt", "th", "all"), isNsfw = true, className = "LusciousFactory", overrideVersionCode = 2),
|
MultiLang("Luscious", "https://www.luscious.net", listOf("en","ja", "es", "it", "de", "fr", "zh", "ko", "other", "pt", "th", "all"), isNsfw = true, className = "LusciousFactory", overrideVersionCode = 2),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user