Fix ALPHABETICAL Sort on BentomangaParser
Remove Toonily.net Add MonzeeKomik, Tresdaospull/431/head
parent
a228d71d57
commit
a390e0de49
@ -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…
Reference in New Issue