Comicaso: change domain and fix page list (#4473)

This commit is contained in:
AwkwardPeak7 2024-08-08 07:24:48 +05:00 committed by Draff
parent 6711c29e74
commit 847f8d084f
No known key found for this signature in database
GPG Key ID: E8A89F3211677653
2 changed files with 33 additions and 4 deletions

View File

@ -2,8 +2,8 @@ ext {
extName = 'Comicaso'
extClass = '.Comicaso'
themePkg = 'mangathemesia'
baseUrl = 'https://comicaso.com'
overrideVersionCode = 0
baseUrl = 'https://comicaso.org'
overrideVersionCode = 1
}
apply from: "$rootDir/common.gradle"

View File

@ -1,12 +1,41 @@
package eu.kanade.tachiyomi.extension.id.comicaso
import android.util.Base64
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
import eu.kanade.tachiyomi.source.model.Page
import kotlinx.serialization.json.jsonArray
import kotlinx.serialization.json.jsonPrimitive
import org.jsoup.nodes.Document
import java.text.SimpleDateFormat
import java.util.Locale
class Comicaso : MangaThemesia(
"Comicaso",
"https://comicaso.com",
"https://comicaso.org",
"id",
dateFormat = SimpleDateFormat("MMMM d, yyyy", Locale("id")),
)
) {
override fun pageListParse(document: Document): List<Page> {
val script = document.select("script[src^=data:text/javascript;base64,]").map {
Base64.decode(
it.attr("src").substringAfter("base64,"),
Base64.DEFAULT,
).toString(Charsets.UTF_8)
}.firstOrNull { it.startsWith("ts_reader.run") }
?: throw Exception("Couldn't find page script")
countViews(document)
val imageListJson = JSON_IMAGE_LIST_REGEX.find(script)?.destructured?.toList()?.get(0).orEmpty()
val imageList = try {
json.parseToJsonElement(imageListJson).jsonArray
} catch (_: IllegalArgumentException) {
emptyList()
}
val scriptPages = imageList.mapIndexed { i, jsonEl ->
Page(i, document.location(), jsonEl.jsonPrimitive.content)
}
return scriptPages
}
}