Luscious new filters ()

* Update Luscious.kt

* Update LusciousGenerator.kt
This commit is contained in:
Johannes Joens 2021-05-12 22:28:52 +12:00 committed by GitHub
parent 1db6f31ae6
commit a76d5bc782
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 36 additions and 4 deletions
multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/luscious

@ -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),