From b054d22bb6747dc1312868e5fad42b194341b496 Mon Sep 17 00:00:00 2001 From: Mike <51273546+SnakeDoc83@users.noreply.github.com> Date: Sun, 29 Sep 2019 22:47:55 -0400 Subject: [PATCH] ComicExtra image parsing (#1580) ComicExtra image parsing --- src/en/comicextra/build.gradle | 2 +- .../extension/en/comicextra/ComicExtra.kt | 28 +++++++------------ 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/src/en/comicextra/build.gradle b/src/en/comicextra/build.gradle index a8433e6ec..19f3911b8 100644 --- a/src/en/comicextra/build.gradle +++ b/src/en/comicextra/build.gradle @@ -5,7 +5,7 @@ ext { appName = 'Tachiyomi: ComicExtra' pkgNameSuffix = 'en.comicextra' extClass = '.ComicExtra' - extVersionCode = 3 + extVersionCode = 4 libVersion = '1.2' } diff --git a/src/en/comicextra/src/eu/kanade/tachiyomi/extension/en/comicextra/ComicExtra.kt b/src/en/comicextra/src/eu/kanade/tachiyomi/extension/en/comicextra/ComicExtra.kt index 4380bdc56..5dcc280ba 100644 --- a/src/en/comicextra/src/eu/kanade/tachiyomi/extension/en/comicextra/ComicExtra.kt +++ b/src/en/comicextra/src/eu/kanade/tachiyomi/extension/en/comicextra/ComicExtra.kt @@ -1,13 +1,14 @@ package eu.kanade.tachiyomi.extension.en.comicextra import eu.kanade.tachiyomi.network.GET -import eu.kanade.tachiyomi.network.asObservableSuccess import eu.kanade.tachiyomi.source.model.FilterList 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 eu.kanade.tachiyomi.util.asJsoup +import okhttp3.OkHttpClient +import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element @@ -26,6 +27,8 @@ class ComicExtra : ParsedHttpSource() { override val supportsLatest = true + override val client: OkHttpClient = network.cloudflareClient + private val datePattern = Pattern.compile("(\\d+) days? ago") override fun popularMangaSelector() = "div.cartoon-box" @@ -144,30 +147,19 @@ class ComicExtra : ParsedHttpSource() { return date.time } + override fun pageListRequest(chapter: SChapter): Request { + return GET(baseUrl + chapter.url + "/full", headers) + } + override fun pageListParse(document: Document): List { val pages = mutableListOf() - val urls = document.select("select.full-select[name=page_select] > option") - for (element in urls) { - val url = element.attr("value") - if (url.isEmpty()) continue - pages.add(Page(index = Integer.valueOf(element.text()) - 1, url = url)) + document.select("img.chapter_img").forEachIndexed { i, img -> + pages.add(Page(i, "", img.attr("abs:src"))) } return pages } - override fun imageUrlRequest(page: Page) = GET(page.url) - - override fun fetchImageUrl(page: Page) = client.newCall(imageUrlRequest(page)) - .asObservableSuccess() - .map { realImageUrlParse(it) }!! - - private fun realImageUrlParse(response: Response) = with(response.asJsoup()) { - getElementById("main_img").attr("src") - }!! - - override fun imageUrlParse(response: Response) = throw UnsupportedOperationException("Unused method was called somehow!") - override fun imageUrlParse(document: Document) = throw UnsupportedOperationException("Unused method was called somehow!") }