From 2e68fc15f68db87115540e33766a1dce3a0d9f5b Mon Sep 17 00:00:00 2001 From: seew3l <90949336+seew3l@users.noreply.github.com> Date: Sun, 30 Apr 2023 16:29:22 -0500 Subject: [PATCH] Fix LeerCapitulo (#16245) * Fix * Apply requested changes Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com> * Remove unused import Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com> * Change delimiter --------- Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com> --- src/es/leercapitulo/build.gradle | 2 +- .../extension/es/leercapitulo/LeerCapitulo.kt | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/es/leercapitulo/build.gradle b/src/es/leercapitulo/build.gradle index 5c9dcfd43..359673c48 100644 --- a/src/es/leercapitulo/build.gradle +++ b/src/es/leercapitulo/build.gradle @@ -6,7 +6,7 @@ ext { extName = 'LeerCapitulo / OlympusScan.top' pkgNameSuffix = 'es.leercapitulo' extClass = '.LeerCapitulo' - extVersionCode = 4 + extVersionCode = 5 } apply from: "$rootDir/common.gradle" \ No newline at end of file diff --git a/src/es/leercapitulo/src/eu/kanade/tachiyomi/extension/es/leercapitulo/LeerCapitulo.kt b/src/es/leercapitulo/src/eu/kanade/tachiyomi/extension/es/leercapitulo/LeerCapitulo.kt index 6d68896b3..4cf0b4934 100644 --- a/src/es/leercapitulo/src/eu/kanade/tachiyomi/extension/es/leercapitulo/LeerCapitulo.kt +++ b/src/es/leercapitulo/src/eu/kanade/tachiyomi/extension/es/leercapitulo/LeerCapitulo.kt @@ -146,23 +146,29 @@ class LeerCapitulo : ParsedHttpSource(), ConfigurableSource { .toFloatOrNull() ?: -1f } + private val keyRepoUrl = "https://raw.githubusercontent.com/seew3l/tachiyomi-scripts/main/leercapitulo_keys.txt" - // Pages override fun pageListParse(document: Document): List<Page> { val orderList = document.selectFirst("meta[property=ad:check]")?.attr("content") ?.replace("[^\\d]+".toRegex(), "-") ?.split("-") + val useReversedString = orderList?.any { it == "01" } + val arrayData = document.selectFirst("#arraydata")!!.text() + val (key1, key2) = client.newCall(GET(keyRepoUrl)).execute().body.string().split("\n") + val encodedUrls = arrayData.replace(Regex("[A-Z0-9]", RegexOption.IGNORE_CASE)) { - val index = "BoevQJylkhcAxZVb4sXTgfaHu3zr7tP61L9qGNUmCpYKREdijD28OSwWInF5M0".indexOf(it.value) - "GQiMUkPrKIgpzVcu87AY4LnvO2a0oBy9JFbRhSx6qdfme5wZsEWlT1CN3XjDHt"[index].toString() + val index = key2.indexOf(it.value) + key1[index].toString() } val urlList = String(Base64.decode(encodedUrls, Base64.DEFAULT), Charset.forName("UTF-8")).split(",") - val sortedUrls = orderList?.map { urlList[it.reversed().toInt()] }?.reversed() ?: urlList + val sortedUrls = orderList?.map { + if (useReversedString == true) urlList[it.reversed().toInt()] else urlList[it.toInt()] + }?.reversed() ?: urlList return sortedUrls.mapIndexed { i, image_url -> Page(i, imageUrl = image_url)