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 languagesFilter = filters.findInstance<LanguageGroupFilter>()!!
|
||||
val tagsFilter = filters.findInstance<TagTextFilters>()!!
|
||||
val creatorFilter = filters.findInstance<CreatorTextFilters>()!!
|
||||
val favoriteFilter = filters.findInstance<FavoriteTextFilters>()!!
|
||||
val genreFilter = filters.findInstance<GenreGroupFilter>()!!
|
||||
val contentTypeFilter = filters.findInstance<ContentTypeSelectFilter>()!!
|
||||
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()) {
|
||||
add(genreFilter.toJsonObject("genre_ids"))
|
||||
}
|
||||
@ -364,11 +384,17 @@ abstract class Luscious(
|
||||
// Details
|
||||
|
||||
override fun mangaDetailsRequest(manga: SManga): Request {
|
||||
val id = manga.url.substringAfterLast("_").removeSuffix("/")
|
||||
return buildAlbumInfoRequest(id)
|
||||
return GET("$baseUrl${manga.url}", headers)
|
||||
}
|
||||
|
||||
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())
|
||||
with(data["data"]["album"]["get"]) {
|
||||
val manga = SManga.create()
|
||||
@ -400,6 +426,7 @@ abstract class Luscious(
|
||||
return manga
|
||||
}
|
||||
}
|
||||
override fun mangaDetailsParse(response: Response): SManga = throw UnsupportedOperationException("Not used")
|
||||
|
||||
// Popular
|
||||
|
||||
@ -470,6 +497,8 @@ abstract class Luscious(
|
||||
class RestrictGenresSelectFilter(options: List<SelectFilterOption>) : SelectFilter("Restrict Genres", options)
|
||||
class AlbumSizeSelectFilter(options: List<SelectFilterOption>) : SelectFilter("Album Size", options)
|
||||
class TagTextFilters : TextFilter("Tags")
|
||||
class CreatorTextFilters : TextFilter("Uploader")
|
||||
class FavoriteTextFilters : TextFilter("Favorite by User")
|
||||
override fun getFilterList(): FilterList = getSortFilters(POPULAR_DEFAULT_SORT_STATE)
|
||||
|
||||
private fun getSortFilters(sortState: Int) = FilterList(
|
||||
@ -484,6 +513,9 @@ abstract class Luscious(
|
||||
Filter.Header("Separate tags with commas (,)"),
|
||||
Filter.Header("Prepend with dash (-) to exclude"),
|
||||
TagTextFilters(),
|
||||
Filter.Header("The following require username or ID"),
|
||||
CreatorTextFilters(),
|
||||
FavoriteTextFilters(),
|
||||
)
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@ class LusciousGenerator : ThemeSourceGenerator {
|
||||
|
||||
override val themeClass = "Luscious"
|
||||
|
||||
override val baseVersionCode: Int = 8
|
||||
override val baseVersionCode: Int = 9
|
||||
|
||||
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),
|
||||
|
Loading…
x
Reference in New Issue
Block a user