Add Asc on some SortOrder

devi 2 years ago
parent 2e138da3d5
commit 71deb11e1f

@ -2,9 +2,13 @@ package org.koitharu.kotatsu.parsers.model
enum class SortOrder { enum class SortOrder {
UPDATED, UPDATED,
UPDATED_ASC,
POPULARITY, POPULARITY,
POPULARITY_ASC,
RATING, RATING,
RATING_ASC,
NEWEST, NEWEST,
NEWEST_ASC,
ALPHABETICAL, ALPHABETICAL,
ALPHABETICAL_DESC ALPHABETICAL_DESC,
} }

@ -85,11 +85,15 @@ internal class MangaDexParser(context: MangaLoaderContext) : MangaParser(context
append( append(
when (filter.sortOrder) { when (filter.sortOrder) {
SortOrder.UPDATED -> "[latestUploadedChapter]=desc" SortOrder.UPDATED -> "[latestUploadedChapter]=desc"
SortOrder.UPDATED_ASC -> "[latestUploadedChapter]=asc"
SortOrder.RATING -> "[rating]=desc" SortOrder.RATING -> "[rating]=desc"
SortOrder.RATING_ASC -> "[rating]=asc"
SortOrder.ALPHABETICAL -> "[title]=asc" SortOrder.ALPHABETICAL -> "[title]=asc"
SortOrder.ALPHABETICAL_DESC -> "[title]=desc" SortOrder.ALPHABETICAL_DESC -> "[title]=desc"
SortOrder.NEWEST -> "[createdAt]=desc" SortOrder.NEWEST -> "[createdAt]=desc"
SortOrder.NEWEST_ASC -> "[createdAt]=asc"
SortOrder.POPULARITY -> "[followedCount]=desc" SortOrder.POPULARITY -> "[followedCount]=desc"
SortOrder.POPULARITY_ASC -> "[followedCount]=asc"
}, },
) )
filter.states.forEach { filter.states.forEach {

@ -87,6 +87,7 @@ class Manhwa18Parser(context: MangaLoaderContext) :
SortOrder.UPDATED -> "update" SortOrder.UPDATED -> "update"
SortOrder.NEWEST -> "new" SortOrder.NEWEST -> "new"
SortOrder.RATING -> "like" SortOrder.RATING -> "like"
else -> null
}, },
) )

@ -57,11 +57,15 @@ class TuMangaOnlineParser(context: MangaLoaderContext) : PagedMangaParser(
append( append(
when (filter.sortOrder) { when (filter.sortOrder) {
SortOrder.POPULARITY -> "likes_count&order_dir=desc" SortOrder.POPULARITY -> "likes_count&order_dir=desc"
SortOrder.POPULARITY_ASC -> "likes_count&order_dir=asc"
SortOrder.UPDATED -> "release_date&order_dir=desc" SortOrder.UPDATED -> "release_date&order_dir=desc"
SortOrder.UPDATED_ASC -> "release_date&order_dir=asc"
SortOrder.NEWEST -> "creation&order_dir=desc" SortOrder.NEWEST -> "creation&order_dir=desc"
SortOrder.NEWEST_ASC -> "creation&order_dir=asc"
SortOrder.ALPHABETICAL -> "alphabetically&order_dir=asc" SortOrder.ALPHABETICAL -> "alphabetically&order_dir=asc"
SortOrder.ALPHABETICAL_DESC -> "alphabetically&order_dir=desc" SortOrder.ALPHABETICAL_DESC -> "alphabetically&order_dir=desc"
SortOrder.RATING -> "score&order_dir=desc" SortOrder.RATING -> "score&order_dir=desc"
SortOrder.RATING_ASC -> "score&order_dir=asc"
}, },
) )
append("&filter_by=title") append("&filter_by=title")

@ -52,6 +52,7 @@ internal class Manhwa18Com(context: MangaLoaderContext) :
SortOrder.UPDATED -> "update" SortOrder.UPDATED -> "update"
SortOrder.NEWEST -> "new" SortOrder.NEWEST -> "new"
SortOrder.RATING -> "like" SortOrder.RATING -> "like"
else -> null
}, },
) )

@ -77,6 +77,9 @@ internal class BentomangaParser(context: MangaLoaderContext) :
SortOrder.ALPHABETICAL_DESC -> url.addQueryParameter("order_by", "name") SortOrder.ALPHABETICAL_DESC -> url.addQueryParameter("order_by", "name")
.addQueryParameter("order", "desc") .addQueryParameter("order", "desc")
else -> url.addQueryParameter("order_by", "update")
.addQueryParameter("order", "desc")
} }
if (filter.tags.isNotEmpty()) { if (filter.tags.isNotEmpty()) {

@ -69,6 +69,10 @@ class MangaWtfParser(
SortOrder.NEWEST -> "createdAt,desc" SortOrder.NEWEST -> "createdAt,desc"
SortOrder.ALPHABETICAL, SortOrder.ALPHABETICAL,
SortOrder.ALPHABETICAL_DESC, SortOrder.ALPHABETICAL_DESC,
SortOrder.UPDATED_ASC,
SortOrder.POPULARITY_ASC,
SortOrder.RATING_ASC,
SortOrder.NEWEST_ASC,
-> throw IllegalArgumentException("Unsupported ${filter.sortOrder}") -> throw IllegalArgumentException("Unsupported ${filter.sortOrder}")
}, },
) )

@ -21,7 +21,7 @@ internal abstract class LibSocialParser(
protected val siteId: Int, protected val siteId: Int,
) : PagedMangaParser(context, source, pageSize = 60) { ) : PagedMangaParser(context, source, pageSize = 60) {
override val availableSortOrders: Set<SortOrder> = EnumSet.allOf(SortOrder::class.java) override val availableSortOrders: Set<SortOrder> = EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.RATING, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.ALPHABETICAL_DESC)
final override val configKeyDomain = ConfigKey.Domain("lib.social") final override val configKeyDomain = ConfigKey.Domain("lib.social")
override val availableStates: Set<MangaState> = EnumSet.allOf(MangaState::class.java) override val availableStates: Set<MangaState> = EnumSet.allOf(MangaState::class.java)
@ -88,6 +88,7 @@ internal abstract class LibSocialParser(
SortOrder.ALPHABETICAL, SortOrder.ALPHABETICAL,
SortOrder.ALPHABETICAL_DESC, SortOrder.ALPHABETICAL_DESC,
-> "rus_name" -> "rus_name"
else -> null
}, },
) )
urlBuilder.addQueryParameter( urlBuilder.addQueryParameter(
@ -101,6 +102,7 @@ internal abstract class LibSocialParser(
-> "desc" -> "desc"
SortOrder.ALPHABETICAL -> "asc" SortOrder.ALPHABETICAL -> "asc"
else -> null
}, },
) )
val json = webClient.httpGet(urlBuilder.build()).parseJson() val json = webClient.httpGet(urlBuilder.build()).parseJson()

@ -24,7 +24,7 @@ internal class NetTruyenLL(context: MangaLoaderContext) :
override val listUrl = "/tim-kiem-nang-cao" override val listUrl = "/tim-kiem-nang-cao"
override val availableStates: Set<MangaState> = override val availableStates: Set<MangaState> =
EnumSet.of(MangaState.ONGOING, MangaState.FINISHED, MangaState.PAUSED, MangaState.ABANDONED) EnumSet.of(MangaState.ONGOING, MangaState.FINISHED, MangaState.PAUSED, MangaState.ABANDONED)
override val availableSortOrders: Set<SortOrder> = EnumSet.allOf(SortOrder::class.java) override val availableSortOrders: Set<SortOrder> = EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.RATING, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.ALPHABETICAL_DESC)
override suspend fun getListPage(page: Int, filter: MangaListFilter?): List<Manga> { override suspend fun getListPage(page: Int, filter: MangaListFilter?): List<Manga> {
val response = val response =
@ -93,6 +93,7 @@ internal class NetTruyenLL(context: MangaLoaderContext) :
SortOrder.RATING -> "score" SortOrder.RATING -> "score"
SortOrder.ALPHABETICAL -> "az" SortOrder.ALPHABETICAL -> "az"
SortOrder.ALPHABETICAL_DESC -> "za" SortOrder.ALPHABETICAL_DESC -> "za"
else -> null
}, },
) )
} }

@ -24,7 +24,7 @@ internal class NetTruyenSSR(context: MangaLoaderContext) :
override val listUrl = "/tim-kiem-nang-cao" override val listUrl = "/tim-kiem-nang-cao"
override val availableStates: Set<MangaState> = override val availableStates: Set<MangaState> =
EnumSet.of(MangaState.ONGOING, MangaState.FINISHED, MangaState.PAUSED, MangaState.ABANDONED) EnumSet.of(MangaState.ONGOING, MangaState.FINISHED, MangaState.PAUSED, MangaState.ABANDONED)
override val availableSortOrders: Set<SortOrder> = EnumSet.allOf(SortOrder::class.java) override val availableSortOrders: Set<SortOrder> = EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.RATING, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.ALPHABETICAL_DESC)
override suspend fun getListPage(page: Int, filter: MangaListFilter?): List<Manga> { override suspend fun getListPage(page: Int, filter: MangaListFilter?): List<Manga> {
val response = val response =
@ -93,6 +93,7 @@ internal class NetTruyenSSR(context: MangaLoaderContext) :
SortOrder.RATING -> "score" SortOrder.RATING -> "score"
SortOrder.ALPHABETICAL -> "az" SortOrder.ALPHABETICAL -> "az"
SortOrder.ALPHABETICAL_DESC -> "za" SortOrder.ALPHABETICAL_DESC -> "za"
else -> null
}, },
) )
} }

@ -26,7 +26,7 @@ internal abstract class ZMangaParser(
keys.add(userAgentKey) keys.add(userAgentKey)
} }
override val availableSortOrders: Set<SortOrder> = EnumSet.allOf(SortOrder::class.java) override val availableSortOrders: Set<SortOrder> = EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.RATING, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.ALPHABETICAL_DESC)
override val availableStates: Set<MangaState> = EnumSet.of(MangaState.ONGOING, MangaState.FINISHED) override val availableStates: Set<MangaState> = EnumSet.of(MangaState.ONGOING, MangaState.FINISHED)
@ -80,6 +80,7 @@ internal abstract class ZMangaParser(
SortOrder.ALPHABETICAL_DESC -> append("titlereverse") SortOrder.ALPHABETICAL_DESC -> append("titlereverse")
SortOrder.NEWEST -> append("latest") SortOrder.NEWEST -> append("latest")
SortOrder.RATING -> append("rating") SortOrder.RATING -> append("rating")
else -> null
} }
filter.tags.forEach { filter.tags.forEach {

Loading…
Cancel
Save