From 611cf69a3959b022273922edbbc66f857ca45946 Mon Sep 17 00:00:00 2001 From: Chopper <156493704+ttony2chopper@users.noreply.github.com> Date: Mon, 27 May 2024 06:05:58 -0300 Subject: [PATCH] FRScan: Fix pages loading (#3230) * Fix pages loading * Change group name * Remove variable * Remove parseAs function and add page url --- src/fr/frdashscan/build.gradle | 2 +- .../extension/fr/frdashscan/FRScan.kt | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/fr/frdashscan/build.gradle b/src/fr/frdashscan/build.gradle index 24be20d7d..c93d9159b 100644 --- a/src/fr/frdashscan/build.gradle +++ b/src/fr/frdashscan/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.FRScan' themePkg = 'madara' baseUrl = 'https://fr-scan.com' - overrideVersionCode = 5 + overrideVersionCode = 6 } apply from: "$rootDir/common.gradle" diff --git a/src/fr/frdashscan/src/eu/kanade/tachiyomi/extension/fr/frdashscan/FRScan.kt b/src/fr/frdashscan/src/eu/kanade/tachiyomi/extension/fr/frdashscan/FRScan.kt index 11aa73c3a..1351dd888 100644 --- a/src/fr/frdashscan/src/eu/kanade/tachiyomi/extension/fr/frdashscan/FRScan.kt +++ b/src/fr/frdashscan/src/eu/kanade/tachiyomi/extension/fr/frdashscan/FRScan.kt @@ -2,7 +2,10 @@ package eu.kanade.tachiyomi.extension.fr.frdashscan import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.network.interceptor.rateLimit +import eu.kanade.tachiyomi.source.model.Page +import kotlinx.serialization.decodeFromString import okhttp3.OkHttpClient +import org.jsoup.nodes.Document import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit @@ -16,4 +19,20 @@ class FRScan : Madara("FR-Scan", "https://fr-scan.com", "fr", dateFormat = Simpl override val useNewChapterEndpoint = true override val chapterUrlSuffix = "" + + override fun pageListParse(document: Document): List { + val chapterPreloaded = document.selectFirst("#chapter_preloaded_images") + ?: return super.pageListParse(document) + + val content = CHAPTER_PAGES_REGEX.find(chapterPreloaded.data())?.groups?.get("pages")!!.value + val pages = json.decodeFromString>(content) + + return pages.mapIndexed { index, imageUrl -> + Page(index, document.location(), imageUrl) + } + } + + companion object { + val CHAPTER_PAGES_REGEX = """=\s+(?\[.+\])""".toRegex() + } }