diff --git a/src/pt/cerisescans/build.gradle b/src/pt/cerisescans/build.gradle index fb6abdeb2..59a676fcd 100644 --- a/src/pt/cerisescans/build.gradle +++ b/src/pt/cerisescans/build.gradle @@ -1,9 +1,9 @@ ext { extName = 'Cerise Scan' extClass = '.CeriseScan' - themePkg = 'peachscan' - baseUrl = 'https://sctoon.net' - overrideVersionCode = 42 + themePkg = 'madara' + baseUrl = 'https://loverstoon.com' + overrideVersionCode = 9 isNsfw = true } diff --git a/src/pt/cerisescans/src/eu/kanade/tachiyomi/extension/pt/cerisescans/CeriseScan.kt b/src/pt/cerisescans/src/eu/kanade/tachiyomi/extension/pt/cerisescans/CeriseScan.kt index 1235dc238..e48d65a84 100644 --- a/src/pt/cerisescans/src/eu/kanade/tachiyomi/extension/pt/cerisescans/CeriseScan.kt +++ b/src/pt/cerisescans/src/eu/kanade/tachiyomi/extension/pt/cerisescans/CeriseScan.kt @@ -1,16 +1,43 @@ package eu.kanade.tachiyomi.extension.pt.cerisescans -import eu.kanade.tachiyomi.multisrc.peachscan.PeachScan +import android.util.Base64 +import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.network.interceptor.rateLimit +import eu.kanade.tachiyomi.source.model.Page +import keiyoushi.utils.parseAs +import kotlinx.serialization.Serializable +import org.jsoup.nodes.Document +import java.text.SimpleDateFormat +import java.util.Locale -class CeriseScan : PeachScan( +class CeriseScan : Madara( "Cerise Scan", - "https://sctoon.net", + "https://loverstoon.com", "pt-BR", + SimpleDateFormat("dd.MM.yyyy", Locale.ROOT), ) { - override val versionId: Int = 2 + override val versionId: Int = 3 override val client = super.client.newBuilder() - .rateLimit(1, 2) + .rateLimit(3, 2) .build() + + override val useLoadMoreRequest = LoadMoreStrategy.Always + + override val useNewChapterEndpoint = true + + override fun pageListParse(document: Document): List { + return document.selectFirst(".page-break a")!!.attr("href") + .substringAfter("auth=") + .let { Base64.decode(it, Base64.DEFAULT).toString(Charsets.UTF_8) } + .parseAs() + .toPageList() + } + + @Serializable + private class PageDto(private val url: String) { + fun toPageList(): List = url.split(";").mapIndexed { index, image -> + Page(index, imageUrl = image) + } + } }