Add Asc on some SortOrder

master
devi 2 years ago
parent 71deb11e1f
commit d812644e61

@ -28,7 +28,9 @@ internal abstract class FmreaderParser(
override val availableSortOrders: Set<SortOrder> = EnumSet.of( override val availableSortOrders: Set<SortOrder> = EnumSet.of(
SortOrder.UPDATED, SortOrder.UPDATED,
SortOrder.UPDATED_ASC,
SortOrder.POPULARITY, SortOrder.POPULARITY,
SortOrder.POPULARITY_ASC,
SortOrder.ALPHABETICAL, SortOrder.ALPHABETICAL,
SortOrder.ALPHABETICAL_DESC, SortOrder.ALPHABETICAL_DESC,
) )
@ -94,11 +96,13 @@ internal abstract class FmreaderParser(
append("&sort=") append("&sort=")
when (filter.sortOrder) { when (filter.sortOrder) {
SortOrder.POPULARITY -> append("views") SortOrder.POPULARITY -> append("views&sort_type=DESC")
SortOrder.UPDATED -> append("last_update") SortOrder.POPULARITY_ASC -> append("views&sort_type=ASC")
SortOrder.UPDATED -> append("last_update&sort_type=DESC")
SortOrder.UPDATED_ASC -> append("last_update&sort_type=ASC")
SortOrder.ALPHABETICAL -> append("name&sort_type=ASC") SortOrder.ALPHABETICAL -> append("name&sort_type=ASC")
SortOrder.ALPHABETICAL_DESC -> append("name&sort_type=DESC") SortOrder.ALPHABETICAL_DESC -> append("name&sort_type=DESC")
else -> append("last_update") else -> append("last_update&sort_type=DESC")
} }
append("&m_status=") append("&m_status=")

@ -43,11 +43,13 @@ internal class OlimpoScans(context: MangaLoaderContext) :
append(page.toString()) append(page.toString())
append("&sort=") append("&sort=")
when (filter.sortOrder) { when (filter.sortOrder) {
SortOrder.POPULARITY -> append("views") SortOrder.POPULARITY -> append("views&sort_type=DESC")
SortOrder.UPDATED -> append("last_update") SortOrder.POPULARITY_ASC -> append("views&sort_type=ASC")
SortOrder.UPDATED -> append("last_update&sort_type=DESC")
SortOrder.UPDATED_ASC -> append("last_update&sort_type=ASC")
SortOrder.ALPHABETICAL -> append("name&sort_type=ASC") SortOrder.ALPHABETICAL -> append("name&sort_type=ASC")
SortOrder.ALPHABETICAL_DESC -> append("name&sort_type=DESC") SortOrder.ALPHABETICAL_DESC -> append("name&sort_type=DESC")
else -> append("last_update") else -> append("last_update&sort_type=DESC")
} }
} }

@ -32,8 +32,11 @@ internal abstract class HeanCms(
SortOrder.ALPHABETICAL, SortOrder.ALPHABETICAL,
SortOrder.ALPHABETICAL_DESC, SortOrder.ALPHABETICAL_DESC,
SortOrder.UPDATED, SortOrder.UPDATED,
SortOrder.UPDATED_ASC,
SortOrder.NEWEST, SortOrder.NEWEST,
SortOrder.NEWEST_ASC,
SortOrder.POPULARITY, SortOrder.POPULARITY,
SortOrder.POPULARITY_ASC,
) )
override val availableStates: Set<MangaState> = override val availableStates: Set<MangaState> =
@ -74,8 +77,11 @@ internal abstract class HeanCms(
append("&orderBy=") append("&orderBy=")
when (filter.sortOrder) { when (filter.sortOrder) {
SortOrder.POPULARITY -> append("total_views&order=desc") SortOrder.POPULARITY -> append("total_views&order=desc")
SortOrder.POPULARITY_ASC -> append("total_views&order=asc")
SortOrder.UPDATED -> append("$paramsUpdated&order=desc") SortOrder.UPDATED -> append("$paramsUpdated&order=desc")
SortOrder.UPDATED_ASC -> append("$paramsUpdated&order=asc")
SortOrder.NEWEST -> append("created_at&order=desc") SortOrder.NEWEST -> append("created_at&order=desc")
SortOrder.NEWEST_ASC -> append("created_at&order=asc")
SortOrder.ALPHABETICAL -> append("title&order=asc") SortOrder.ALPHABETICAL -> append("title&order=asc")
SortOrder.ALPHABETICAL_DESC -> append("title&order=desc") SortOrder.ALPHABETICAL_DESC -> append("title&order=desc")
else -> append("latest&order=desc") else -> append("latest&order=desc")

@ -58,9 +58,13 @@ internal abstract class MadaraParser(
override val availableSortOrders: Set<SortOrder> = EnumSet.of( override val availableSortOrders: Set<SortOrder> = EnumSet.of(
SortOrder.UPDATED, SortOrder.UPDATED,
SortOrder.UPDATED_ASC,
SortOrder.POPULARITY, SortOrder.POPULARITY,
SortOrder.POPULARITY_ASC,
SortOrder.NEWEST, SortOrder.NEWEST,
SortOrder.NEWEST_ASC,
SortOrder.ALPHABETICAL, SortOrder.ALPHABETICAL,
SortOrder.ALPHABETICAL_DESC,
SortOrder.RATING, SortOrder.RATING,
) )
@ -302,15 +306,48 @@ internal abstract class MadaraParser(
} }
when (filter.sortOrder) { when (filter.sortOrder) {
SortOrder.POPULARITY -> payload["vars[meta_key]"] = "_wp_manga_views" SortOrder.POPULARITY -> {
SortOrder.UPDATED -> payload["vars[meta_key]"] = "_latest_update" payload["vars[meta_key]"] = "_wp_manga_views"
SortOrder.NEWEST -> payload["vars[meta_key]"] = "" payload["vars[order]"] = "desc"
}
SortOrder.POPULARITY_ASC -> {
payload["vars[meta_key]"] = "_wp_manga_views"
payload["vars[order]"] = "asc"
}
SortOrder.UPDATED -> {
payload["vars[meta_key]"] = "_latest_update"
payload["vars[order]"] = "desc"
}
SortOrder.UPDATED_ASC -> {
payload["vars[meta_key]"] = "_latest_update"
payload["vars[order]"] = "asc"
}
SortOrder.NEWEST -> {
payload["vars[orderby]"] = "date"
payload["vars[order]"] = "desc"
}
SortOrder.NEWEST_ASC -> {
payload["vars[orderby]"] = "date"
payload["vars[order]"] = "asc"
}
SortOrder.ALPHABETICAL -> { SortOrder.ALPHABETICAL -> {
payload["vars[orderby]"] = "post_title" payload["vars[orderby]"] = "post_title"
payload["vars[order]"] = "ASC" payload["vars[order]"] = "asc"
}
SortOrder.ALPHABETICAL_DESC -> {
payload["vars[orderby]"] = "post_title"
payload["vars[order]"] = "desc"
} }
SortOrder.RATING -> {} SortOrder.RATING -> {}
else -> payload["vars[meta_key]"] = "_latest_update" else -> payload["vars[meta_key]"] = "_latest_update"
} }

@ -7,6 +7,7 @@ import org.koitharu.kotatsu.parsers.model.ContentType
import org.koitharu.kotatsu.parsers.model.Manga import org.koitharu.kotatsu.parsers.model.Manga
import org.koitharu.kotatsu.parsers.model.MangaChapter import org.koitharu.kotatsu.parsers.model.MangaChapter
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.attrAsRelativeUrl import org.koitharu.kotatsu.parsers.util.attrAsRelativeUrl
import org.koitharu.kotatsu.parsers.util.generateUid import org.koitharu.kotatsu.parsers.util.generateUid
@ -21,6 +22,8 @@ internal class Ero18x(context: MangaLoaderContext) :
override val datePattern = "MM/dd" override val datePattern = "MM/dd"
override val sourceLocale: Locale = Locale.ENGLISH override val sourceLocale: Locale = Locale.ENGLISH
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override suspend fun getChapters(manga: Manga, doc: Document): List<MangaChapter> { override suspend fun getChapters(manga: Manga, doc: Document): List<MangaChapter> {
val dateFormat = SimpleDateFormat(datePattern, sourceLocale) val dateFormat = SimpleDateFormat(datePattern, sourceLocale)

@ -15,6 +15,8 @@ internal class Manhwa18Cc(context: MangaLoaderContext) :
override val listUrl = "webtoons/" override val listUrl = "webtoons/"
override val tagPrefix = "webtoon-genre/" override val tagPrefix = "webtoon-genre/"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override val selectTestAsync = "ul.row-content-chapter" override val selectTestAsync = "ul.row-content-chapter"
override val selectDate = "span.chapter-time" override val selectDate = "span.chapter-time"
override val selectChapter = "li.a-h" override val selectChapter = "li.a-h"

@ -7,18 +7,22 @@ import org.koitharu.kotatsu.parsers.model.ContentType
import org.koitharu.kotatsu.parsers.model.Manga import org.koitharu.kotatsu.parsers.model.Manga
import org.koitharu.kotatsu.parsers.model.MangaChapter import org.koitharu.kotatsu.parsers.model.MangaChapter
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.attrAsRelativeUrlOrNull import org.koitharu.kotatsu.parsers.util.attrAsRelativeUrlOrNull
import org.koitharu.kotatsu.parsers.util.generateUid import org.koitharu.kotatsu.parsers.util.generateUid
import org.koitharu.kotatsu.parsers.util.mapChapters import org.koitharu.kotatsu.parsers.util.mapChapters
import org.koitharu.kotatsu.parsers.util.parseFailed import org.koitharu.kotatsu.parsers.util.parseFailed
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.EnumSet
@MangaSourceParser("MANHWARAW", "ManhwaRaw", "", ContentType.HENTAI) @MangaSourceParser("MANHWARAW", "ManhwaRaw", "", ContentType.HENTAI)
internal class ManhwaRaw(context: MangaLoaderContext) : internal class ManhwaRaw(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.MANHWARAW, "manhwa-raw.com", 10) { MadaraParser(context, MangaParserSource.MANHWARAW, "manhwa-raw.com", 10) {
override val datePattern = "MM/dd" override val datePattern = "MM/dd"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override suspend fun getChapters(manga: Manga, doc: Document): List<MangaChapter> { override suspend fun getChapters(manga: Manga, doc: Document): List<MangaChapter> {
val dateFormat = SimpleDateFormat(datePattern, sourceLocale) val dateFormat = SimpleDateFormat(datePattern, sourceLocale)

@ -3,7 +3,9 @@ package org.koitharu.kotatsu.parsers.site.madara.ar
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("GATEMANGA", "GateManga", "ar") @MangaSourceParser("GATEMANGA", "GateManga", "ar")
internal class GateManga(context: MangaLoaderContext) : internal class GateManga(context: MangaLoaderContext) :
@ -12,4 +14,7 @@ internal class GateManga(context: MangaLoaderContext) :
override val datePattern = "d MMMM، yyyy" override val datePattern = "d MMMM، yyyy"
override val listUrl = "ar/" override val listUrl = "ar/"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -16,6 +16,7 @@ import org.koitharu.kotatsu.parsers.model.*
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.* import org.koitharu.kotatsu.parsers.util.*
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.EnumSet
@MangaSourceParser("ADULT_WEBTOON", "AdultWebtoon", "en", ContentType.HENTAI) @MangaSourceParser("ADULT_WEBTOON", "AdultWebtoon", "en", ContentType.HENTAI)
internal class AdultWebtoon(context: MangaLoaderContext) : internal class AdultWebtoon(context: MangaLoaderContext) :
@ -24,6 +25,8 @@ internal class AdultWebtoon(context: MangaLoaderContext) :
override val listUrl = "adult-webtoon/" override val listUrl = "adult-webtoon/"
override val postReq = true override val postReq = true
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override val availableStates: Set<MangaState> = emptySet() override val availableStates: Set<MangaState> = emptySet()

@ -3,10 +3,15 @@ package org.koitharu.kotatsu.parsers.site.madara.en
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("BESTMANHUACOM", "BestManhua.com", "en") @MangaSourceParser("BESTMANHUACOM", "BestManhua.com", "en")
internal class BestManhuaCom(context: MangaLoaderContext) : internal class BestManhuaCom(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.BESTMANHUACOM, "bestmanhua.com", 10) { MadaraParser(context, MangaParserSource.BESTMANHUACOM, "bestmanhua.com", 10) {
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -5,11 +5,16 @@ import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.ContentType import org.koitharu.kotatsu.parsers.model.ContentType
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@Broken // Redirect to @hentai20 @Broken // Redirect to @hentai20
@MangaSourceParser("HENTAI3Z", "Hentai3z", "en", ContentType.HENTAI) @MangaSourceParser("HENTAI3Z", "Hentai3z", "en", ContentType.HENTAI)
internal class Hentai3z(context: MangaLoaderContext) : internal class Hentai3z(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.HENTAI3Z, "manga18h.xyz", pageSize = 20) { MadaraParser(context, MangaParserSource.HENTAI3Z, "manga18h.xyz", pageSize = 20) {
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -6,6 +6,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.* import org.koitharu.kotatsu.parsers.model.*
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.* import org.koitharu.kotatsu.parsers.util.*
import java.util.EnumSet
@MangaSourceParser("HENTAI_4FREE", "Hentai4Free", "en", ContentType.HENTAI) @MangaSourceParser("HENTAI_4FREE", "Hentai4Free", "en", ContentType.HENTAI)
internal class Hentai4Free(context: MangaLoaderContext) : internal class Hentai4Free(context: MangaLoaderContext) :
@ -14,6 +15,8 @@ internal class Hentai4Free(context: MangaLoaderContext) :
override val tagPrefix = "hentai-tag/" override val tagPrefix = "hentai-tag/"
override val listUrl = "" override val listUrl = ""
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override val datePattern = "MMMM dd, yyyy" override val datePattern = "MMMM dd, yyyy"
override val selectGenre = "div.tags-content a" override val selectGenre = "div.tags-content a"

@ -16,12 +16,15 @@ import org.koitharu.kotatsu.parsers.model.*
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.* import org.koitharu.kotatsu.parsers.util.*
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.EnumSet
@MangaSourceParser("HENTAIMANGA", "HentaiManga", "en", ContentType.HENTAI) @MangaSourceParser("HENTAIMANGA", "HentaiManga", "en", ContentType.HENTAI)
internal class HentaiManga(context: MangaLoaderContext) : internal class HentaiManga(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.HENTAIMANGA, "hentaimanga.me", 36) { MadaraParser(context, MangaParserSource.HENTAIMANGA, "hentaimanga.me", 36) {
override val postReq = true override val postReq = true
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override val availableStates: Set<MangaState> = emptySet() override val availableStates: Set<MangaState> = emptySet()
override val availableContentRating: Set<ContentRating> = emptySet() override val availableContentRating: Set<ContentRating> = emptySet()

@ -16,12 +16,15 @@ import org.koitharu.kotatsu.parsers.model.*
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.* import org.koitharu.kotatsu.parsers.util.*
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.EnumSet
@MangaSourceParser("HENTAIWEBTOON", "HentaiWebtoon", "en", ContentType.HENTAI) @MangaSourceParser("HENTAIWEBTOON", "HentaiWebtoon", "en", ContentType.HENTAI)
internal class HentaiWebtoon(context: MangaLoaderContext) : internal class HentaiWebtoon(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.HENTAIWEBTOON, "hentaiwebtoon.com") { MadaraParser(context, MangaParserSource.HENTAIWEBTOON, "hentaiwebtoon.com") {
override val postReq = true override val postReq = true
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override val availableStates: Set<MangaState> = emptySet() override val availableStates: Set<MangaState> = emptySet()
override val availableContentRating: Set<ContentRating> = emptySet() override val availableContentRating: Set<ContentRating> = emptySet()

@ -3,12 +3,16 @@ package org.koitharu.kotatsu.parsers.site.madara.en
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("HUNTERSSCANEN", "EnHuntersScan", "en") @MangaSourceParser("HUNTERSSCANEN", "EnHuntersScan", "en")
internal class HuntersScanEn(context: MangaLoaderContext) : internal class HuntersScanEn(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.HUNTERSSCANEN, "en.huntersscan.xyz") { MadaraParser(context, MangaParserSource.HUNTERSSCANEN, "en.huntersscan.xyz") {
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override val datePattern = "MM/dd/yyyy" override val datePattern = "MM/dd/yyyy"
override val tagPrefix = "series-genre/" override val tagPrefix = "series-genre/"
override val listUrl = "manga/" override val listUrl = "manga/"

@ -5,6 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.* import org.koitharu.kotatsu.parsers.model.*
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.* import org.koitharu.kotatsu.parsers.util.*
import java.util.EnumSet
@MangaSourceParser("ISEKAISCAN_EU", "ParagonScans", "en") @MangaSourceParser("ISEKAISCAN_EU", "ParagonScans", "en")
internal class IsekaiScanEuParser(context: MangaLoaderContext) : internal class IsekaiScanEuParser(context: MangaLoaderContext) :
@ -12,6 +13,8 @@ internal class IsekaiScanEuParser(context: MangaLoaderContext) :
override val datePattern = "MM/dd/yyyy" override val datePattern = "MM/dd/yyyy"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override val listUrl = "mangax/" override val listUrl = "mangax/"
init { init {

@ -5,11 +5,15 @@ import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.ContentType import org.koitharu.kotatsu.parsers.model.ContentType
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@Broken @Broken
@MangaSourceParser("MANGA1K", "Manga1k", "en", ContentType.HENTAI) @MangaSourceParser("MANGA1K", "Manga1k", "en", ContentType.HENTAI)
internal class Manga1k(context: MangaLoaderContext) : internal class Manga1k(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.MANGA1K, "manga1k.com", 20) { MadaraParser(context, MangaParserSource.MANGA1K, "manga1k.com", 20) {
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -4,11 +4,15 @@ import org.koitharu.kotatsu.parsers.Broken
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@Broken @Broken
@MangaSourceParser("MANGA68", "Manga68", "en") @MangaSourceParser("MANGA68", "Manga68", "en")
internal class Manga68(context: MangaLoaderContext) : internal class Manga68(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.MANGA68, "manga68.com") { MadaraParser(context, MangaParserSource.MANGA68, "manga68.com") {
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -9,6 +9,7 @@ import org.koitharu.kotatsu.parsers.model.*
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.* import org.koitharu.kotatsu.parsers.util.*
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.EnumSet
@MangaSourceParser("MANGADASS", "MangaDass", "en", ContentType.HENTAI) @MangaSourceParser("MANGADASS", "MangaDass", "en", ContentType.HENTAI)
internal class MangaDass(context: MangaLoaderContext) : internal class MangaDass(context: MangaLoaderContext) :
@ -16,6 +17,8 @@ internal class MangaDass(context: MangaLoaderContext) :
override val datePattern = "dd MMM yyyy" override val datePattern = "dd MMM yyyy"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override val selectChapter = "li.a-h" override val selectChapter = "li.a-h"
override val selectDesc = "div.ss-manga" override val selectDesc = "div.ss-manga"

@ -9,6 +9,7 @@ import org.koitharu.kotatsu.parsers.model.*
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.* import org.koitharu.kotatsu.parsers.util.*
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.EnumSet
@MangaSourceParser("MANGADNA", "MangaDna", "en", ContentType.HENTAI) @MangaSourceParser("MANGADNA", "MangaDna", "en", ContentType.HENTAI)
internal class MangaDna(context: MangaLoaderContext) : internal class MangaDna(context: MangaLoaderContext) :
@ -16,6 +17,8 @@ internal class MangaDna(context: MangaLoaderContext) :
override val datePattern = "dd MMM yyyy" override val datePattern = "dd MMM yyyy"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override val selectDesc = "div.dsct" override val selectDesc = "div.dsct"
override val selectChapter = "li.a-h" override val selectChapter = "li.a-h"
override val availableStates: Set<MangaState> = emptySet() override val availableStates: Set<MangaState> = emptySet()

@ -4,7 +4,9 @@ import org.koitharu.kotatsu.parsers.Broken
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@Broken @Broken
@MangaSourceParser("MANGAEFFECT", "MangaEffect", "en") @MangaSourceParser("MANGAEFFECT", "MangaEffect", "en")
@ -12,4 +14,6 @@ internal class MangaEffect(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.MANGAEFFECT, "mangaeffect.com") { MadaraParser(context, MangaParserSource.MANGAEFFECT, "mangaeffect.com") {
override val datePattern = "dd.MM.yyyy" override val datePattern = "dd.MM.yyyy"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -3,10 +3,14 @@ package org.koitharu.kotatsu.parsers.site.madara.en
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("MANGAFASTNET", "MangaFast.net", "en") @MangaSourceParser("MANGAFASTNET", "MangaFast.net", "en")
internal class MangaFastNet(context: MangaLoaderContext) : internal class MangaFastNet(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.MANGAFASTNET, "manhuafast.net") { MadaraParser(context, MangaParserSource.MANGAFASTNET, "manhuafast.net") {
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -3,7 +3,9 @@ package org.koitharu.kotatsu.parsers.site.madara.en
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("MANGAREAD", "MangaRead", "en") @MangaSourceParser("MANGAREAD", "MangaRead", "en")
internal class MangaRead(context: MangaLoaderContext) : internal class MangaRead(context: MangaLoaderContext) :
@ -11,4 +13,6 @@ internal class MangaRead(context: MangaLoaderContext) :
override val tagPrefix = "genres/" override val tagPrefix = "genres/"
override val datePattern = "dd.MM.yyyy" override val datePattern = "dd.MM.yyyy"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -4,11 +4,15 @@ import org.koitharu.kotatsu.parsers.Broken
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@Broken @Broken
@MangaSourceParser("MANGAUS", "Mangaus", "en") @MangaSourceParser("MANGAUS", "Mangaus", "en")
internal class Mangaus(context: MangaLoaderContext) : internal class Mangaus(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.MANGAUS, "mangaus.xyz") { MadaraParser(context, MangaParserSource.MANGAUS, "mangaus.xyz") {
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -6,14 +6,18 @@ import org.koitharu.kotatsu.parsers.exception.ParseException
import org.koitharu.kotatsu.parsers.model.MangaChapter import org.koitharu.kotatsu.parsers.model.MangaChapter
import org.koitharu.kotatsu.parsers.model.MangaPage import org.koitharu.kotatsu.parsers.model.MangaPage
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.* import org.koitharu.kotatsu.parsers.util.*
import java.util.EnumSet
@MangaSourceParser("MANHUAPLUS", "ManhuaPlus", "en") @MangaSourceParser("MANHUAPLUS", "ManhuaPlus", "en")
internal class Manhuaplus(context: MangaLoaderContext) : internal class Manhuaplus(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.MANHUAPLUS, "manhuaplus.com") { MadaraParser(context, MangaParserSource.MANHUAPLUS, "manhuaplus.com") {
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override suspend fun getPages(chapter: MangaChapter): List<MangaPage> { override suspend fun getPages(chapter: MangaChapter): List<MangaPage> {
val fullUrl = chapter.url.toAbsoluteUrl(domain) val fullUrl = chapter.url.toAbsoluteUrl(domain)

@ -3,10 +3,14 @@ package org.koitharu.kotatsu.parsers.site.madara.en
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("MANHUAUSS", "Manhuauss", "en") @MangaSourceParser("MANHUAUSS", "Manhuauss", "en")
internal class Manhuauss(context: MangaLoaderContext) : internal class Manhuauss(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.MANHUAUSS, "manhuauss.com") { MadaraParser(context, MangaParserSource.MANHUAUSS, "manhuauss.com") {
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -11,9 +11,11 @@ import org.koitharu.kotatsu.parsers.model.MangaChapter
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.MangaState import org.koitharu.kotatsu.parsers.model.MangaState
import org.koitharu.kotatsu.parsers.model.MangaTag import org.koitharu.kotatsu.parsers.model.MangaTag
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.* import org.koitharu.kotatsu.parsers.util.*
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.EnumSet
@MangaSourceParser("MANHWAHENTAI", "ManhwaHentai", "en", ContentType.HENTAI) @MangaSourceParser("MANHWAHENTAI", "ManhwaHentai", "en", ContentType.HENTAI)
internal class ManhwaHentai(context: MangaLoaderContext) : internal class ManhwaHentai(context: MangaLoaderContext) :
@ -21,6 +23,8 @@ internal class ManhwaHentai(context: MangaLoaderContext) :
override val tagPrefix = "webtoon-genre/" override val tagPrefix = "webtoon-genre/"
override val listUrl = "webtoon/" override val listUrl = "webtoon/"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override val postReq = true override val postReq = true
override suspend fun getDetails(manga: Manga): Manga = coroutineScope { override suspend fun getDetails(manga: Manga): Manga = coroutineScope {

@ -16,6 +16,7 @@ import org.koitharu.kotatsu.parsers.model.*
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.* import org.koitharu.kotatsu.parsers.util.*
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.EnumSet
@MangaSourceParser("MANYTOON", "ManyToon", "en", ContentType.HENTAI) @MangaSourceParser("MANYTOON", "ManyToon", "en", ContentType.HENTAI)
internal class ManyToon(context: MangaLoaderContext) : internal class ManyToon(context: MangaLoaderContext) :
@ -23,6 +24,8 @@ internal class ManyToon(context: MangaLoaderContext) :
override val listUrl = "comic/" override val listUrl = "comic/"
override val postReq = true override val postReq = true
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override val availableStates: Set<MangaState> = emptySet() override val availableStates: Set<MangaState> = emptySet()

@ -4,7 +4,9 @@ import org.koitharu.kotatsu.parsers.Broken
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@Broken @Broken
@MangaSourceParser("MMSCANS", "MmScans", "en") @MangaSourceParser("MMSCANS", "MmScans", "en")
@ -13,4 +15,6 @@ internal class MmScans(context: MangaLoaderContext) :
override val selectChapter = "li.chapter-li" override val selectChapter = "li.chapter-li"
override val selectDesc = "div.summary-text" override val selectDesc = "div.summary-text"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -3,12 +3,16 @@ package org.koitharu.kotatsu.parsers.site.madara.en
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("MURIMSCAN", "InkReads", "en") @MangaSourceParser("MURIMSCAN", "InkReads", "en")
internal class MurimScan(context: MangaLoaderContext) : internal class MurimScan(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.MURIMSCAN, "inkreads.com", 100) { MadaraParser(context, MangaParserSource.MURIMSCAN, "inkreads.com", 100) {
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override val postReq = true override val postReq = true
override val listUrl = "mangax/" override val listUrl = "mangax/"
} }

@ -4,7 +4,9 @@ import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.ContentType import org.koitharu.kotatsu.parsers.model.ContentType
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("TOONGOD", "ToonGod", "en", ContentType.HENTAI) @MangaSourceParser("TOONGOD", "ToonGod", "en", ContentType.HENTAI)
internal class ToonGod(context: MangaLoaderContext) : internal class ToonGod(context: MangaLoaderContext) :
@ -13,4 +15,6 @@ internal class ToonGod(context: MangaLoaderContext) :
override val tagPrefix = "webtoon-genre/" override val tagPrefix = "webtoon-genre/"
override val datePattern = "d MMM yyyy" override val datePattern = "d MMM yyyy"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -3,11 +3,15 @@ package org.koitharu.kotatsu.parsers.site.madara.en
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("ZINMANGA", "ZinManga.net", "en") @MangaSourceParser("ZINMANGA", "ZinManga.net", "en")
internal class Zinmanga(context: MangaLoaderContext) : internal class Zinmanga(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.ZINMANGA, "zinmanga.net") { MadaraParser(context, MangaParserSource.ZINMANGA, "zinmanga.net") {
override val datePattern = "MM/dd/yyyy" override val datePattern = "MM/dd/yyyy"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -6,18 +6,22 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.Manga import org.koitharu.kotatsu.parsers.model.Manga
import org.koitharu.kotatsu.parsers.model.MangaChapter import org.koitharu.kotatsu.parsers.model.MangaChapter
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.attrAsRelativeUrl import org.koitharu.kotatsu.parsers.util.attrAsRelativeUrl
import org.koitharu.kotatsu.parsers.util.generateUid import org.koitharu.kotatsu.parsers.util.generateUid
import org.koitharu.kotatsu.parsers.util.mapChapters import org.koitharu.kotatsu.parsers.util.mapChapters
import org.koitharu.kotatsu.parsers.util.selectFirstOrThrow import org.koitharu.kotatsu.parsers.util.selectFirstOrThrow
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.EnumSet
@MangaSourceParser("MANHWA_ES", "Manhwa-Es", "es") @MangaSourceParser("MANHWA_ES", "Manhwa-Es", "es")
internal class ManhwaEs(context: MangaLoaderContext) : internal class ManhwaEs(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.MANHWA_ES, "manhwa-es.com", 10) { MadaraParser(context, MangaParserSource.MANHWA_ES, "manhwa-es.com", 10) {
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override val datePattern = "MM/dd" override val datePattern = "MM/dd"
override suspend fun getChapters(manga: Manga, doc: Document): List<MangaChapter> { override suspend fun getChapters(manga: Manga, doc: Document): List<MangaChapter> {

@ -7,9 +7,11 @@ import org.koitharu.kotatsu.parsers.model.ContentType
import org.koitharu.kotatsu.parsers.model.Manga import org.koitharu.kotatsu.parsers.model.Manga
import org.koitharu.kotatsu.parsers.model.MangaChapter import org.koitharu.kotatsu.parsers.model.MangaChapter
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.* import org.koitharu.kotatsu.parsers.util.*
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.EnumSet
@MangaSourceParser("MANHWALATINO", "ManhwaLatino", "es", ContentType.HENTAI) @MangaSourceParser("MANHWALATINO", "ManhwaLatino", "es", ContentType.HENTAI)
internal class ManhwaLatino(context: MangaLoaderContext) : internal class ManhwaLatino(context: MangaLoaderContext) :
@ -17,6 +19,8 @@ internal class ManhwaLatino(context: MangaLoaderContext) :
override val datePattern = "MM/dd" override val datePattern = "MM/dd"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override val selectPage = "div.page-break img.wp-manga-chapter-img" override val selectPage = "div.page-break img.wp-manga-chapter-img"
override suspend fun getChapters(manga: Manga, doc: Document): List<MangaChapter> { override suspend fun getChapters(manga: Manga, doc: Document): List<MangaChapter> {
val root2 = doc.body().selectFirstOrThrow("div.content-area") val root2 = doc.body().selectFirstOrThrow("div.content-area")

@ -4,10 +4,14 @@ import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.ContentType import org.koitharu.kotatsu.parsers.model.ContentType
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("VERMANHWA", "Vermanhwa", "es", ContentType.HENTAI) @MangaSourceParser("VERMANHWA", "Vermanhwa", "es", ContentType.HENTAI)
internal class Vermanhwa(context: MangaLoaderContext) : internal class Vermanhwa(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.VERMANHWA, "vermanhwa.com", 10) { MadaraParser(context, MangaParserSource.VERMANHWA, "vermanhwa.com", 10) {
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -5,11 +5,15 @@ import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.ContentType import org.koitharu.kotatsu.parsers.model.ContentType
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@Broken @Broken
@MangaSourceParser("INDO18H", "Indo18h", "id", ContentType.HENTAI) @MangaSourceParser("INDO18H", "Indo18h", "id", ContentType.HENTAI)
internal class Indo18h(context: MangaLoaderContext) : internal class Indo18h(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.INDO18H, "indo18h.com", 24) { MadaraParser(context, MangaParserSource.INDO18H, "indo18h.com", 24) {
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -4,7 +4,9 @@ import org.koitharu.kotatsu.parsers.Broken
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@Broken @Broken
@MangaSourceParser("ANCIENTCOMICS", "AncientComics", "pt") @MangaSourceParser("ANCIENTCOMICS", "AncientComics", "pt")
@ -12,4 +14,6 @@ internal class AncientComics(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.ANCIENTCOMICS, "ancientcomics.com.br") { MadaraParser(context, MangaParserSource.ANCIENTCOMICS, "ancientcomics.com.br") {
override val datePattern: String = "dd/MM/yyyy" override val datePattern: String = "dd/MM/yyyy"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -3,11 +3,15 @@ package org.koitharu.kotatsu.parsers.site.madara.pt
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("ATEMPORAL", "Atemporal", "pt") @MangaSourceParser("ATEMPORAL", "Atemporal", "pt")
internal class Atemporal(context: MangaLoaderContext) : internal class Atemporal(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.ATEMPORAL, "atemporal.cloud") { MadaraParser(context, MangaParserSource.ATEMPORAL, "atemporal.cloud") {
override val datePattern: String = "d 'de' MMMM 'de' yyyy" override val datePattern: String = "d 'de' MMMM 'de' yyyy"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -3,11 +3,15 @@ package org.koitharu.kotatsu.parsers.site.madara.pt
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("GALINHASAMURAI", "GalinhaSamurai", "pt") @MangaSourceParser("GALINHASAMURAI", "GalinhaSamurai", "pt")
internal class GalinhaSamurai(context: MangaLoaderContext) : internal class GalinhaSamurai(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.GALINHASAMURAI, "galinhasamurai.com") { MadaraParser(context, MangaParserSource.GALINHASAMURAI, "galinhasamurai.com") {
override val datePattern = "dd/MM/yyyy" override val datePattern = "dd/MM/yyyy"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -3,12 +3,16 @@ package org.koitharu.kotatsu.parsers.site.madara.pt
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("HUNTERSSCAN", "HuntersScan", "pt") @MangaSourceParser("HUNTERSSCAN", "HuntersScan", "pt")
internal class HuntersScan(context: MangaLoaderContext) : internal class HuntersScan(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.HUNTERSSCAN, "huntersscan.net", pageSize = 50) { MadaraParser(context, MangaParserSource.HUNTERSSCAN, "huntersscan.net", pageSize = 50) {
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override val datePattern = "MM/dd/yyyy" override val datePattern = "MM/dd/yyyy"
override val tagPrefix = "series-genre/" override val tagPrefix = "series-genre/"
override val listUrl = "series/" override val listUrl = "series/"

@ -3,11 +3,15 @@ package org.koitharu.kotatsu.parsers.site.madara.pt
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("IMPERIODABRITANNIA", "ImperioDaBritannia", "pt") @MangaSourceParser("IMPERIODABRITANNIA", "ImperioDaBritannia", "pt")
internal class ImperiodaBritannia(context: MangaLoaderContext) : internal class ImperiodaBritannia(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.IMPERIODABRITANNIA, "imperiodabritannia.com", 10) { MadaraParser(context, MangaParserSource.IMPERIODABRITANNIA, "imperiodabritannia.com", 10) {
override val datePattern: String = "dd 'de' MMMMM 'de' yyyy" override val datePattern: String = "dd 'de' MMMMM 'de' yyyy"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -3,11 +3,15 @@ package org.koitharu.kotatsu.parsers.site.madara.pt
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("NORTEROSE", "Norterose", "pt") @MangaSourceParser("NORTEROSE", "Norterose", "pt")
internal class Norterose(context: MangaLoaderContext) : internal class Norterose(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.NORTEROSE, "norterose.com.br", 10) { MadaraParser(context, MangaParserSource.NORTEROSE, "norterose.com.br", 10) {
override val datePattern: String = "dd/MM/yyyy" override val datePattern: String = "dd/MM/yyyy"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -4,10 +4,14 @@ import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.ContentType import org.koitharu.kotatsu.parsers.model.ContentType
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("CAT_300", "Cat300", "th", ContentType.HENTAI) @MangaSourceParser("CAT_300", "Cat300", "th", ContentType.HENTAI)
internal class Cat300(context: MangaLoaderContext) : MadaraParser(context, MangaParserSource.CAT_300, "cat300.net") { internal class Cat300(context: MangaLoaderContext) : MadaraParser(context, MangaParserSource.CAT_300, "cat300.net") {
override val datePattern = "MMMM dd, yyyy" override val datePattern = "MMMM dd, yyyy"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -4,12 +4,16 @@ import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.ContentType import org.koitharu.kotatsu.parsers.model.ContentType
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("DOUJINZA", "Doujinza", "th", ContentType.HENTAI) @MangaSourceParser("DOUJINZA", "Doujinza", "th", ContentType.HENTAI)
internal class Doujinza(context: MangaLoaderContext) : internal class Doujinza(context: MangaLoaderContext) :
MadaraParser(context, MangaParserSource.DOUJINZA, "doujinza.com", 24) { MadaraParser(context, MangaParserSource.DOUJINZA, "doujinza.com", 24) {
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
override val datePattern = "MMMM dd, yyyy" override val datePattern = "MMMM dd, yyyy"
override val listUrl = "doujin/" override val listUrl = "doujin/"
override val tagPrefix = "doujin-genre/" override val tagPrefix = "doujin-genre/"

@ -3,7 +3,9 @@ package org.koitharu.kotatsu.parsers.site.madara.tr
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.model.MangaParserSource
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import java.util.EnumSet
@MangaSourceParser("RUYAMANGA", "RuyaManga", "tr") @MangaSourceParser("RUYAMANGA", "RuyaManga", "tr")
internal class RuyaManga(context: MangaLoaderContext) : internal class RuyaManga(context: MangaLoaderContext) :
@ -11,4 +13,6 @@ internal class RuyaManga(context: MangaLoaderContext) :
override val tagPrefix = "manga-kategori/" override val tagPrefix = "manga-kategori/"
override val datePattern = "dd/MM/yyyy" override val datePattern = "dd/MM/yyyy"
override val withoutAjax = true override val withoutAjax = true
override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST, SortOrder.ALPHABETICAL, SortOrder.RATING)
} }

@ -27,6 +27,7 @@ internal abstract class MmrcmsParser(
override val availableSortOrders: Set<SortOrder> = EnumSet.of( override val availableSortOrders: Set<SortOrder> = EnumSet.of(
SortOrder.POPULARITY, SortOrder.POPULARITY,
SortOrder.POPULARITY_ASC,
SortOrder.UPDATED, SortOrder.UPDATED,
SortOrder.ALPHABETICAL, SortOrder.ALPHABETICAL,
SortOrder.ALPHABETICAL_DESC, SortOrder.ALPHABETICAL_DESC,
@ -110,6 +111,7 @@ internal abstract class MmrcmsParser(
append("&sortBy=") append("&sortBy=")
when (filter.sortOrder) { when (filter.sortOrder) {
SortOrder.POPULARITY -> append("views&asc=false") SortOrder.POPULARITY -> append("views&asc=false")
SortOrder.POPULARITY_ASC -> append("views&asc=true")
SortOrder.ALPHABETICAL -> append("name&asc=true") SortOrder.ALPHABETICAL -> append("name&asc=true")
SortOrder.ALPHABETICAL_DESC -> append("name&asc=false") SortOrder.ALPHABETICAL_DESC -> append("name&asc=false")
else -> append("name") else -> append("name")

@ -14,10 +14,13 @@ class LerManga(context: MangaLoaderContext) : PagedMangaParser(context, MangaPar
override val availableSortOrders: Set<SortOrder> = override val availableSortOrders: Set<SortOrder> =
EnumSet.of( EnumSet.of(
SortOrder.UPDATED, SortOrder.UPDATED,
SortOrder.UPDATED_ASC,
SortOrder.POPULARITY, SortOrder.POPULARITY,
SortOrder.POPULARITY_ASC,
SortOrder.ALPHABETICAL, SortOrder.ALPHABETICAL,
SortOrder.ALPHABETICAL_DESC, SortOrder.ALPHABETICAL_DESC,
SortOrder.RATING, SortOrder.RATING,
SortOrder.RATING_ASC,
) )
override val configKeyDomain = ConfigKey.Domain("lermanga.org") override val configKeyDomain = ConfigKey.Domain("lermanga.org")
@ -60,10 +63,13 @@ class LerManga(context: MangaLoaderContext) : PagedMangaParser(context, MangaPar
append( append(
when (filter.sortOrder) { when (filter.sortOrder) {
SortOrder.UPDATED -> "modified&order=desc" SortOrder.UPDATED -> "modified&order=desc"
SortOrder.UPDATED_ASC -> "modified&order=asc"
SortOrder.POPULARITY -> "views&order=desc" SortOrder.POPULARITY -> "views&order=desc"
SortOrder.POPULARITY_ASC -> "views&order=asc"
SortOrder.ALPHABETICAL -> "title&order=asc" SortOrder.ALPHABETICAL -> "title&order=asc"
SortOrder.ALPHABETICAL_DESC -> "title&order=desc" SortOrder.ALPHABETICAL_DESC -> "title&order=desc"
SortOrder.RATING -> "rating&order=desc" SortOrder.RATING -> "rating&order=desc"
SortOrder.RATING_ASC -> "rating&order=asc"
else -> "modified&order=desc" else -> "modified&order=desc"
}, },
) )

@ -23,7 +23,13 @@ class TrWebtoon(context: MangaLoaderContext) :
} }
override val availableSortOrders: Set<SortOrder> = override val availableSortOrders: Set<SortOrder> =
EnumSet.of(SortOrder.POPULARITY, SortOrder.ALPHABETICAL, SortOrder.ALPHABETICAL_DESC, SortOrder.UPDATED) EnumSet.of(
SortOrder.POPULARITY,
SortOrder.POPULARITY_ASC,
SortOrder.ALPHABETICAL,
SortOrder.ALPHABETICAL_DESC,
SortOrder.UPDATED,
)
override val availableStates: Set<MangaState> = EnumSet.of(MangaState.ONGOING, MangaState.FINISHED) override val availableStates: Set<MangaState> = EnumSet.of(MangaState.ONGOING, MangaState.FINISHED)
@ -80,6 +86,7 @@ class TrWebtoon(context: MangaLoaderContext) :
append("&sort=") append("&sort=")
when (filter.sortOrder) { when (filter.sortOrder) {
SortOrder.POPULARITY -> append("views&short_type=DESC") SortOrder.POPULARITY -> append("views&short_type=DESC")
SortOrder.POPULARITY_ASC -> append("views&short_type=ASC")
SortOrder.ALPHABETICAL -> append("name&short_type=ASC") SortOrder.ALPHABETICAL -> append("name&short_type=ASC")
SortOrder.ALPHABETICAL_DESC -> append("name&short_type=DESC") SortOrder.ALPHABETICAL_DESC -> append("name&short_type=DESC")
else -> append("views&short_type=DESC") else -> append("views&short_type=DESC")

Loading…
Cancel
Save