From 731df4ccdd3b6d0c3518f9b9ca00ae91bfabb974 Mon Sep 17 00:00:00 2001 From: Mike <51273546+SnakeDoc83@users.noreply.github.com> Date: Sat, 1 Feb 2020 10:04:17 -0500 Subject: [PATCH] Mangahub - pages fix (#2168) Mangahub - pages fix --- src/en/mangahub/build.gradle | 2 +- .../extension/en/mangahub/Mangahub.kt | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/en/mangahub/build.gradle b/src/en/mangahub/build.gradle index 83c2c5d78..63f755eff 100644 --- a/src/en/mangahub/build.gradle +++ b/src/en/mangahub/build.gradle @@ -5,7 +5,7 @@ ext { appName = 'Tachiyomi: Mangahub' pkgNameSuffix = 'en.mangahub' extClass = '.Mangahub' - extVersionCode = 4 + extVersionCode = 5 libVersion = '1.2' } diff --git a/src/en/mangahub/src/eu/kanade/tachiyomi/extension/en/mangahub/Mangahub.kt b/src/en/mangahub/src/eu/kanade/tachiyomi/extension/en/mangahub/Mangahub.kt index 91409a953..3ec0cfcee 100644 --- a/src/en/mangahub/src/eu/kanade/tachiyomi/extension/en/mangahub/Mangahub.kt +++ b/src/en/mangahub/src/eu/kanade/tachiyomi/extension/en/mangahub/Mangahub.kt @@ -3,6 +3,7 @@ package eu.kanade.tachiyomi.extension.en.mangahub import com.github.salomonbrys.kotson.fromJson import com.github.salomonbrys.kotson.get import com.github.salomonbrys.kotson.string +import com.github.salomonbrys.kotson.keys import com.google.gson.Gson import com.google.gson.JsonObject import eu.kanade.tachiyomi.network.GET @@ -142,22 +143,21 @@ class Mangahub : ParsedHttpSource() { val number = chapter.url.substringAfter("chapter-").removeSuffix("/") val body = RequestBody.create(null, "{\"query\":\"{chapter(x:m01,slug:\\\"$slug\\\",number:$number){id,title,mangaID,number,slug,date,pages,noAd,manga{id,title,slug,mainSlug,author,isWebtoon,isYaoi,isPorn,isSoftPorn,unauthFile,isLicensed}}}\"}") - return POST("https://api2.mangahub.io/graphql", jsonHeaders, body) + return POST("https://api.mghubcdn.com/graphql", jsonHeaders, body) } private val gson = Gson() override fun pageListParse(response: Response): List { - val pages = mutableListOf() - val images = gson.fromJson(response.body()!!.string())["data"]["chapter"]["pages"].string + val cdn = "https://img.mghubcdn.com/file/imghub" + + return gson.fromJson(response.body()!!.string())["data"]["chapter"]["pages"].string .removeSurrounding("\"").replace("\\", "") - .let { gson.fromJson(it) } - - for (i in 1 .. images.size()) { - pages.add(Page(i - 1, "", "https://cdn.mangahub.io/file/imghub/${images["$i"].string}")) - } - - return pages + .let { cleaned -> + val jsonObject = gson.fromJson(cleaned) + jsonObject.keys().map { key -> jsonObject[key].string } + } + .mapIndexed { i, tail -> Page(i, "", "$cdn/$tail") } } override fun pageListParse(document: Document): List = throw UnsupportedOperationException("Not used")