From c15852943efd6de200b1dbb6753b168914aba68e Mon Sep 17 00:00:00 2001 From: Vetle Ledaal Date: Sun, 26 Jan 2025 13:45:37 +0100 Subject: [PATCH] Remove named capture groups from most extensions (#7328) * remove named capture group (simple) * remove named capture group (spot checks) --- lib-multisrc/colamanga/build.gradle.kts | 2 +- .../kanade/tachiyomi/multisrc/colamanga/ColaManga.kt | 4 ++-- lib-multisrc/keyoapp/build.gradle.kts | 2 +- .../eu/kanade/tachiyomi/multisrc/keyoapp/Keyoapp.kt | 8 ++++---- lib-multisrc/slimereadtheme/build.gradle.kts | 2 +- .../multisrc/slimereadtheme/SlimeReadTheme.kt | 2 +- src/all/littlegarden/build.gradle | 2 +- .../extension/all/littlegarden/LittleGarden.kt | 8 ++++---- src/all/snowmtl/build.gradle | 2 +- .../extension/all/snowmtl/translator/BingTranslator.kt | 10 +++++----- src/en/hachi/build.gradle | 2 +- .../eu/kanade/tachiyomi/extension/en/hachi/Hachi.kt | 8 ++++---- src/en/irovedout/build.gradle | 2 +- .../tachiyomi/extension/en/irovedout/IRovedOut.kt | 6 +++--- src/en/roliascan/build.gradle | 2 +- .../tachiyomi/extension/en/roliascan/RoliaScan.kt | 6 +++--- src/en/webcomics/build.gradle | 2 +- .../tachiyomi/extension/en/webcomics/Webcomics.kt | 4 ++-- src/es/plottwistnofansub/build.gradle | 2 +- .../es/plottwistnofansub/PlotTwistNoFansub.kt | 4 ++-- src/fr/frdashscan/build.gradle | 2 +- .../kanade/tachiyomi/extension/fr/frdashscan/FRScan.kt | 4 ++-- src/pt/readmangas/build.gradle | 2 +- .../tachiyomi/extension/pt/readmangas/ReadMangas.kt | 4 ++-- src/pt/taiyo/build.gradle | 2 +- .../eu/kanade/tachiyomi/extension/pt/taiyo/Taiyo.kt | 8 ++++---- src/pt/traducoesdolipe/build.gradle | 2 +- .../extension/pt/traducoesdolipe/TraducoesDoLipe.kt | 8 ++++---- src/pt/tsukimangas/build.gradle | 2 +- .../tachiyomi/extension/pt/tsukimangas/TsukiMangas.kt | 4 ++-- src/tr/hattorimanga/build.gradle | 2 +- .../extension/tr/hattorimanga/HattoriManga.kt | 4 ++-- src/tr/uzaymanga/build.gradle | 2 +- .../tachiyomi/extension/tr/uzaymanga/UzayManga.kt | 4 ++-- src/vi/lxhentai/build.gradle | 2 +- .../kanade/tachiyomi/extension/vi/lxhentai/LxHentai.kt | 4 ++-- src/zh/roumanwu/build.gradle | 2 +- .../kanade/tachiyomi/extension/zh/roumanwu/Roumanwu.kt | 4 ++-- 38 files changed, 71 insertions(+), 71 deletions(-) diff --git a/lib-multisrc/colamanga/build.gradle.kts b/lib-multisrc/colamanga/build.gradle.kts index ce0e3c5c0..33b2d6664 100644 --- a/lib-multisrc/colamanga/build.gradle.kts +++ b/lib-multisrc/colamanga/build.gradle.kts @@ -2,7 +2,7 @@ plugins { id("lib-multisrc") } -baseVersionCode = 5 +baseVersionCode = 6 dependencies { api(project(":lib:synchrony")) diff --git a/lib-multisrc/colamanga/src/eu/kanade/tachiyomi/multisrc/colamanga/ColaManga.kt b/lib-multisrc/colamanga/src/eu/kanade/tachiyomi/multisrc/colamanga/ColaManga.kt index 88c609f8f..d001934d7 100644 --- a/lib-multisrc/colamanga/src/eu/kanade/tachiyomi/multisrc/colamanga/ColaManga.kt +++ b/lib-multisrc/colamanga/src/eu/kanade/tachiyomi/multisrc/colamanga/ColaManga.kt @@ -276,14 +276,14 @@ abstract class ColaManga( }.also(screen::addPreference) } - private val keyMappingRegex = Regex("""if\s*\(\s*([a-zA-Z0-9_]+)\s*==\s*(?\d+)\s*\)\s*\{\s*return\s*'(?[a-zA-Z0-9_]+)'\s*;""") + private val keyMappingRegex = Regex("""if\s*\(\s*([a-zA-Z0-9_]+)\s*==\s*(\d+)\s*\)\s*\{\s*return\s*'([a-zA-Z0-9_]+)'\s*;""") private val keyMapping by lazy { val obfuscatedReadJs = client.newCall(GET("$baseUrl/js/manga.read.js")).execute().body.string() val readJs = Deobfuscator.deobfuscateScript(obfuscatedReadJs) ?: throw Exception(intl.couldNotDeobufscateScript) - keyMappingRegex.findAll(readJs).associate { it.groups["keyType"]!!.value to it.groups["key"]!!.value } + keyMappingRegex.findAll(readJs).associate { it.groups[1]!!.value to it.groups[2]!!.value } } private fun randomString() = buildString(15) { diff --git a/lib-multisrc/keyoapp/build.gradle.kts b/lib-multisrc/keyoapp/build.gradle.kts index e1d07a25c..1c3344942 100644 --- a/lib-multisrc/keyoapp/build.gradle.kts +++ b/lib-multisrc/keyoapp/build.gradle.kts @@ -2,7 +2,7 @@ plugins { id("lib-multisrc") } -baseVersionCode = 12 +baseVersionCode = 13 dependencies { api(project(":lib:i18n")) diff --git a/lib-multisrc/keyoapp/src/eu/kanade/tachiyomi/multisrc/keyoapp/Keyoapp.kt b/lib-multisrc/keyoapp/src/eu/kanade/tachiyomi/multisrc/keyoapp/Keyoapp.kt index d7d2e003a..67ecaf825 100644 --- a/lib-multisrc/keyoapp/src/eu/kanade/tachiyomi/multisrc/keyoapp/Keyoapp.kt +++ b/lib-multisrc/keyoapp/src/eu/kanade/tachiyomi/multisrc/keyoapp/Keyoapp.kt @@ -290,7 +290,7 @@ abstract class Keyoapp( .firstOrNull { CDN_HOST_REGEX.containsMatchIn(it.html()) } ?.let { val cdnHost = CDN_HOST_REGEX.find(it.html()) - ?.groups?.get("host")?.value + ?.groups?.get(1)?.value ?.replace(CDN_CLEAN_REGEX, "") "https://$cdnHost/uploads" } @@ -314,7 +314,7 @@ abstract class Keyoapp( protected open fun Element.getImageUrl(selector: String): String? { return this.selectFirst(selector)?.let { element -> - IMG_REGEX.find(element.attr("style"))?.groups?.get("url")?.value + IMG_REGEX.find(element.attr("style"))?.groups?.get(1)?.value ?.toHttpUrlOrNull()?.let { it.newBuilder() .setQueryParameter("w", "480") // Keyoapp returns the dynamic size of the thumbnail to any size @@ -376,8 +376,8 @@ abstract class Keyoapp( companion object { private const val SHOW_PAID_CHAPTERS_PREF = "pref_show_paid_chap" private const val SHOW_PAID_CHAPTERS_DEFAULT = false - val CDN_HOST_REGEX = """realUrl\s*=\s*`[^`]+//(?[^/]+)""".toRegex() + val CDN_HOST_REGEX = """realUrl\s*=\s*`[^`]+//([^/]+)""".toRegex() val CDN_CLEAN_REGEX = """\$\{[^}]*\}""".toRegex() - val IMG_REGEX = """url\(['"]?(?[^(['"\)])]+)""".toRegex() + val IMG_REGEX = """url\(['"]?([^(['"\)])]+)""".toRegex() } } diff --git a/lib-multisrc/slimereadtheme/build.gradle.kts b/lib-multisrc/slimereadtheme/build.gradle.kts index e2f11e9c1..6e70fd158 100644 --- a/lib-multisrc/slimereadtheme/build.gradle.kts +++ b/lib-multisrc/slimereadtheme/build.gradle.kts @@ -2,4 +2,4 @@ plugins { id("lib-multisrc") } -baseVersionCode = 3 +baseVersionCode = 4 diff --git a/lib-multisrc/slimereadtheme/src/eu/kanade/tachiyomi/multisrc/slimereadtheme/SlimeReadTheme.kt b/lib-multisrc/slimereadtheme/src/eu/kanade/tachiyomi/multisrc/slimereadtheme/SlimeReadTheme.kt index ef3160788..29f2bba79 100644 --- a/lib-multisrc/slimereadtheme/src/eu/kanade/tachiyomi/multisrc/slimereadtheme/SlimeReadTheme.kt +++ b/lib-multisrc/slimereadtheme/src/eu/kanade/tachiyomi/multisrc/slimereadtheme/SlimeReadTheme.kt @@ -267,7 +267,7 @@ abstract class SlimeReadTheme( companion object { const val PREFIX_SEARCH = "id:" - val FUNCTION_REGEX = """(?