From 39302cafa6b1b2a02209a3afc2fe43eb0ec26ba1 Mon Sep 17 00:00:00 2001 From: Mike <51273546+SnakeDoc83@users.noreply.github.com> Date: Wed, 29 Jul 2020 00:38:46 -0400 Subject: [PATCH] MangaKatana - fix pages (#3943) --- src/en/mangakatana/build.gradle | 2 +- .../extension/en/mangakatana/MangaKatana.kt | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/en/mangakatana/build.gradle b/src/en/mangakatana/build.gradle index 9c70e7772..3949e062e 100644 --- a/src/en/mangakatana/build.gradle +++ b/src/en/mangakatana/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'MangaKatana' pkgNameSuffix = 'en.mangakatana' extClass = '.MangaKatana' - extVersionCode = 2 + extVersionCode = 3 libVersion = '1.2' } diff --git a/src/en/mangakatana/src/eu/kanade/tachiyomi/extension/en/mangakatana/MangaKatana.kt b/src/en/mangakatana/src/eu/kanade/tachiyomi/extension/en/mangakatana/MangaKatana.kt index f9ed265e4..9a9a0ab7c 100644 --- a/src/en/mangakatana/src/eu/kanade/tachiyomi/extension/en/mangakatana/MangaKatana.kt +++ b/src/en/mangakatana/src/eu/kanade/tachiyomi/extension/en/mangakatana/MangaKatana.kt @@ -6,7 +6,6 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource -import java.lang.Exception import java.text.SimpleDateFormat import java.util.Locale import okhttp3.MediaType @@ -85,7 +84,7 @@ class MangaKatana : ParsedHttpSource() { override fun chapterFromElement(element: Element) = SChapter.create().apply { setUrlWithoutDomain(element.select("a").attr("href")) name = element.select("a").text() - date_upload = dateFormat.parse(element.select(".update_time").text()).time + date_upload = dateFormat.parse(element.select(".update_time").text())?.time ?: 0 } companion object { @@ -94,13 +93,15 @@ class MangaKatana : ParsedHttpSource() { } } + private val imageArrayRegex = Regex("""var ytaw=\[([^\[]*)]""") + private val imageUrlRegex = Regex("""'([^']*)'""") + override fun pageListParse(document: Document): List { - // image URLs are in an array with each URL being reversed (e.g. 1.jpg becomes gpj.1) - val script = document.select("script:containsData(var ytaw)").firstOrNull()?.data() + val imageArray = document.select("script:containsData(var ytaw)").firstOrNull()?.data() + ?.let { imageArrayRegex.find(it)?.groupValues?.get(1) } ?: throw Exception("Image array not found") - val regex = Regex("""'(.[^']*ptth)'""") - return regex.findAll(script).toList().mapIndexed { i, mr -> - Page(i, "", mr.groupValues[1].reversed()) + return imageUrlRegex.findAll(imageArray).asIterable().mapIndexed { i, mr -> + Page(i, "", mr.groupValues[1]) } }