From 3db7d265745817e82af2806302144f82fe3b2e4f Mon Sep 17 00:00:00 2001 From: Kelvin Porter Date: Sat, 18 Jul 2020 13:39:08 -0400 Subject: [PATCH] Comicpunch - fix chapters and pages not loading (#3828) * Fix comicpunch chapters/pages. * Be a bit safer when grabbing urls * Fix placeholder checking on last chapter * Simplify and fix pages Previous commit was broken, should work now. * Remove useless override/import --- src/en/comicpunch/build.gradle | 2 +- .../extension/en/comicpunch/Comicpunch.kt | 15 +++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/en/comicpunch/build.gradle b/src/en/comicpunch/build.gradle index d5d5b4254..308ca15f7 100644 --- a/src/en/comicpunch/build.gradle +++ b/src/en/comicpunch/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Comicpunch' pkgNameSuffix = 'en.comicpunch' extClass = '.Comicpunch' - extVersionCode = 2 + extVersionCode = 3 libVersion = '1.2' } diff --git a/src/en/comicpunch/src/eu/kanade/tachiyomi/extension/en/comicpunch/Comicpunch.kt b/src/en/comicpunch/src/eu/kanade/tachiyomi/extension/en/comicpunch/Comicpunch.kt index ed121d1d0..23a61ee59 100644 --- a/src/en/comicpunch/src/eu/kanade/tachiyomi/extension/en/comicpunch/Comicpunch.kt +++ b/src/en/comicpunch/src/eu/kanade/tachiyomi/extension/en/comicpunch/Comicpunch.kt @@ -116,7 +116,7 @@ class Comicpunch : ParsedHttpSource() { var elements = response.asJsoup().select(chapterListSelector()).toList() // Check if latest chapter is just a placeholder, drop it if it is - client.newCall(GET(elements[0].attr("abs:href"), headers)).execute().asJsoup().select("img.picture").attr("src").let { img -> + client.newCall(GET(elements[0].attr("abs:href"), headers)).execute().asJsoup().select("img").last().attr("src").let { img -> if (img.contains("placeholder", ignoreCase = true)) elements = elements.drop(1) } elements.map { chapters.add(chapterFromElement(it)) } @@ -124,7 +124,7 @@ class Comicpunch : ParsedHttpSource() { return chapters } - override fun chapterListSelector() = "div#chapterlist li.chapter a" + override fun chapterListSelector() = "li.chapter a" override fun chapterFromElement(element: Element): SChapter { val chapter = SChapter.create() @@ -137,15 +137,14 @@ class Comicpunch : ParsedHttpSource() { // Pages - override fun pageListRequest(chapter: SChapter): Request { - return GET(baseUrl + chapter.url + "/?q=fullchapter", headers) - } - override fun pageListParse(document: Document): List { val pages = mutableListOf() - document.select("img.picture").forEachIndexed { i, img -> - pages.add(Page(i, "", img.attr("abs:src"))) + val pageUrls = document.select("div#code_contain > script") + .eq(1).first().data() + .substringAfter("= [").substringBefore("]").split(",") + pageUrls.forEachIndexed { i, img -> + pages.add(Page(i, "", img.removeSurrounding("\""))) } return pages