From e49d76ff14a28df4bc5a0fc5a9cf993b45fb80df Mon Sep 17 00:00:00 2001 From: Romain Date: Sat, 30 Aug 2025 13:24:50 +0200 Subject: [PATCH] fix(ScanManga): fix regex expression (#10326) Fix regex expression Added some error to easily pinpoint where it fails when it fails. Closes #10317 --- src/fr/scanmanga/build.gradle | 2 +- .../kanade/tachiyomi/extension/fr/scanmanga/ScanManga.kt | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/fr/scanmanga/build.gradle b/src/fr/scanmanga/build.gradle index 98ed30515..cf2415a03 100644 --- a/src/fr/scanmanga/build.gradle +++ b/src/fr/scanmanga/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Scan-Manga' extClass = '.ScanManga' - extVersionCode = 9 + extVersionCode = 10 isNsfw = true } diff --git a/src/fr/scanmanga/src/eu/kanade/tachiyomi/extension/fr/scanmanga/ScanManga.kt b/src/fr/scanmanga/src/eu/kanade/tachiyomi/extension/fr/scanmanga/ScanManga.kt index d6480f905..d5e9638c0 100644 --- a/src/fr/scanmanga/src/eu/kanade/tachiyomi/extension/fr/scanmanga/ScanManga.kt +++ b/src/fr/scanmanga/src/eu/kanade/tachiyomi/extension/fr/scanmanga/ScanManga.kt @@ -202,12 +202,14 @@ class ScanManga : HttpSource() { val packedScript = document.selectFirst("script:containsData(h,u,n,t,e,r)")!!.data() val unpackedScript = decodeHunter(packedScript) - val parametersRegex = Regex("""sml = '([^']+)';\n.*var sme = '([^']+)'""") + val parametersRegex = Regex("""sml = '([^']+)';\n?.*var sme = '([^']+)'""") - val (sml, sme) = parametersRegex.find(unpackedScript)!!.destructured + val (sml, sme) = parametersRegex.find(unpackedScript)?.destructured + ?: error("Failed to extract parameters from script.") val chapterInfoRegex = Regex("""const idc = (\d+)""") - val (chapterId) = chapterInfoRegex.find(packedScript)!!.destructured + val (chapterId) = chapterInfoRegex.find(packedScript)?.destructured + ?: error("Failed to extract chapter ID.") val mediaType = "application/json; charset=UTF-8".toMediaType() val requestBody = """{"a":"$sme","b":"$sml"}"""