Fix ALPHABETICAL Sort on BentomangaParser

Remove Toonily.net
Add MonzeeKomik, Tresdaos
pull/431/head
devi 2 years ago
parent a228d71d57
commit a390e0de49

@ -49,17 +49,15 @@ internal class BentomangaParser(context: MangaLoaderContext) : PagedMangaParser(
is MangaListFilter.Advanced -> {
url.addQueryParameter(
"order_by",
when (filter.sortOrder) {
SortOrder.UPDATED -> "update"
SortOrder.POPULARITY -> "views"
SortOrder.RATING -> "top"
SortOrder.NEWEST -> "create"
SortOrder.ALPHABETICAL -> "name&order=asc"
SortOrder.ALPHABETICAL_DESC -> "name&order=desc"
},
)
SortOrder.UPDATED -> url.addQueryParameter("order_by", "update")
SortOrder.POPULARITY -> url.addQueryParameter("order_by", "views")
SortOrder.RATING -> url.addQueryParameter("order_by", "top")
SortOrder.NEWEST -> url.addQueryParameter("order_by", "create")
SortOrder.ALPHABETICAL -> url.addQueryParameter("order_by", "name")
SortOrder.ALPHABETICAL_DESC -> url.addQueryParameter("order_by", "name")
.addQueryParameter("order", "desc")
}
if (filter.tags.isNotEmpty()) {
url.addQueryParameter("withCategories", filter.tags.joinToString(",") { it.key })

@ -1,10 +0,0 @@
package org.koitharu.kotatsu.parsers.site.madara.en
import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
@MangaSourceParser("TOONILYNET", "Toonily.net", "en")
internal class ToonilyNet(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.TOONILYNET, "toonily.net")

@ -0,0 +1,10 @@
package org.koitharu.kotatsu.parsers.site.mangareader.es
import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser
@MangaSourceParser("TRESDAOS", "Tresdaos", "es")
internal class Tresdaos(context: MangaLoaderContext) :
MangaReaderParser(context, MangaSource.TRESDAOS, "tresdaos.com", 20, 10)

@ -0,0 +1,75 @@
package org.koitharu.kotatsu.parsers.site.zeistmanga.id
import org.jsoup.nodes.Document
import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaChapter
import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
import org.koitharu.kotatsu.parsers.util.domain
import org.koitharu.kotatsu.parsers.util.generateUid
import org.koitharu.kotatsu.parsers.util.json.toJSONList
import org.koitharu.kotatsu.parsers.util.parseJson
import org.koitharu.kotatsu.parsers.util.selectFirstOrThrow
import org.koitharu.kotatsu.parsers.util.tryParse
import java.text.SimpleDateFormat
@MangaSourceParser("MONZEEKOMIK", "MonzeeKomik", "id")
internal class MonzeeKomik(context: MangaLoaderContext) :
ZeistMangaParser(context, MangaSource.MONZEEKOMIK, "www.monzeekomik.my.id"){
override val selectPage = "article#reader img"
override suspend fun loadChapters(mangaUrl: String, doc: Document): List<MangaChapter> {
val chapterRegex = """clwd\.run\('([^']+)'""".toRegex()
val scriptSelector = "#clwd > script"
val script = doc.selectFirstOrThrow(scriptSelector)
val feedFind = chapterRegex
.find(script.html())
?.groupValues?.get(1)
?: throw Exception("Failed to find chapter feed")
val feedClean = feedFind.removeSuffix(")") // clean
val feed = if(feedClean == "Reincarnation Colosseum") // hot fix
{
"I Have 90 Billion Licking Gold"
}else
{
feedClean
}
val url = buildString {
append("https://")
append(domain)
append("/feeds/posts/default/-/")
append(feed)
append("?alt=json&orderby=published&max-results=9999")
}
val json =
webClient.httpGet(url).parseJson().getJSONObject("feed").getJSONArray("entry").toJSONList().reversed()
val dateFormat = SimpleDateFormat(datePattern, sourceLocale)
return json.mapIndexedNotNull { i, j ->
val name = j.getJSONObject("title").getString("\$t")
val href =
j.getJSONArray("link").toJSONList().first { it.getString("rel") == "alternate" }.getString("href")
val dateText = j.getJSONObject("published").getString("\$t").substringBefore("T")
val slug = mangaUrl.substringAfterLast('/')
val slugChapter = href.substringAfterLast('/')
if (slug == slugChapter) {
return@mapIndexedNotNull null
}
MangaChapter(
id = generateUid(href),
url = href,
name = name,
number = i + 1,
branch = null,
uploadDate = dateFormat.tryParse(dateText),
scanlator = null,
source = source,
)
}
}
}
Loading…
Cancel
Save