Komik Cast - Fix no page found (#12154)

* Komik Cast - Fix no page found

* Komik Cast - Fix no page found
This commit is contained in:
(e)x(otic) Ne(e)t 2022-06-11 22:37:40 +07:00 committed by GitHub
parent dfb74d67d9
commit cbded92086
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 2 deletions

View File

@ -8,12 +8,18 @@ import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.Page
import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.SManga
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.jsonArray
import kotlinx.serialization.json.jsonObject
import okhttp3.Headers import okhttp3.Headers
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import okhttp3.Request import okhttp3.Request
import org.jsoup.Jsoup
import org.jsoup.nodes.Document import org.jsoup.nodes.Document
import org.jsoup.nodes.Element import org.jsoup.nodes.Element
import uy.kohesive.injekt.injectLazy
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
class KomikCast : WPMangaStream("Komik Cast", "https://komikcast.me", "id") { class KomikCast : WPMangaStream("Komik Cast", "https://komikcast.me", "id") {
@ -151,7 +157,16 @@ class KomikCast : WPMangaStream("Komik Cast", "https://komikcast.me", "id") {
} }
override fun pageListParse(document: Document): List<Page> { override fun pageListParse(document: Document): List<Page> {
return document.select("div#chapter_body .main-reading-area img.size-full") val imageListRegex = Regex("chapterImages = (.*) \\|\\|")
val imageListJson = imageListRegex.find(document.toString())!!.destructured.toList()[0]
val imageList = json.parseToJsonElement(imageListJson).jsonObject
var imageServer = "cdn"
if (!imageList.containsKey(imageServer)) imageServer = imageList.keys.first()
val imageElement = imageList[imageServer]!!.jsonArray.joinToString("")
val doc = Jsoup.parse(json.decodeFromString(imageElement))
return doc.select("img.size-full")
.mapIndexed { i, img -> Page(i, "", img.attr("abs:Src")) } .mapIndexed { i, img -> Page(i, "", img.attr("abs:Src")) }
} }
@ -167,4 +182,6 @@ class KomikCast : WPMangaStream("Komik Cast", "https://komikcast.me", "id") {
Filter.Header("$name Project List page"), Filter.Header("$name Project List page"),
ProjectFilter() ProjectFilter()
) )
private val json: Json by injectLazy()
} }

View File

@ -22,7 +22,7 @@ class WPMangaStreamGenerator : ThemeSourceGenerator {
SingleLang("Kanzenin", "https://kanzenin.xyz", "id", isNsfw = true), SingleLang("Kanzenin", "https://kanzenin.xyz", "id", isNsfw = true),
SingleLang("KlanKomik", "https://klankomik.com", "id", overrideVersionCode = 1), SingleLang("KlanKomik", "https://klankomik.com", "id", overrideVersionCode = 1),
SingleLang("Komik AV", "https://komikav.com", "id", overrideVersionCode = 1), SingleLang("Komik AV", "https://komikav.com", "id", overrideVersionCode = 1),
SingleLang("Komik Cast", "https://komikcast.me", "id", overrideVersionCode = 10), SingleLang("Komik Cast", "https://komikcast.me", "id", overrideVersionCode = 11),
SingleLang("Komik Station", "https://komikstation.co", "id", overrideVersionCode = 3), SingleLang("Komik Station", "https://komikstation.co", "id", overrideVersionCode = 3),
SingleLang("KomikIndo.co", "https://komikindo.co", "id", className = "KomikindoCo", overrideVersionCode = 3), SingleLang("KomikIndo.co", "https://komikindo.co", "id", className = "KomikindoCo", overrideVersionCode = 3),
SingleLang("Kuma Scans (Kuma Translation)", "https://kumascans.com", "en", className = "KumaScans", overrideVersionCode = 1), SingleLang("Kuma Scans (Kuma Translation)", "https://kumascans.com", "en", className = "KumaScans", overrideVersionCode = 1),