From 496f8d26f3acaa2ff089d25f5d9f0d7c0d19be70 Mon Sep 17 00:00:00 2001 From: bapeey <90949336+bapeey@users.noreply.github.com> Date: Mon, 20 Nov 2023 11:40:57 -0500 Subject: [PATCH] ReadM: Fix images couldn't be loaded (#19008) Fix images --- src/en/readm/build.gradle | 2 +- .../tachiyomi/extension/en/readm/ReadM.kt | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/en/readm/build.gradle b/src/en/readm/build.gradle index cc15ba2cb..439a767c9 100644 --- a/src/en/readm/build.gradle +++ b/src/en/readm/build.gradle @@ -6,7 +6,7 @@ ext { extName = 'ReadM' pkgNameSuffix = 'en.readm' extClass = '.ReadM' - extVersionCode = 6 + extVersionCode = 7 } apply from: "$rootDir/common.gradle" diff --git a/src/en/readm/src/eu/kanade/tachiyomi/extension/en/readm/ReadM.kt b/src/en/readm/src/eu/kanade/tachiyomi/extension/en/readm/ReadM.kt index 1523598a8..c7f1ad045 100644 --- a/src/en/readm/src/eu/kanade/tachiyomi/extension/en/readm/ReadM.kt +++ b/src/en/readm/src/eu/kanade/tachiyomi/extension/en/readm/ReadM.kt @@ -43,7 +43,7 @@ class ReadM : ParsedHttpSource() { override fun popularMangaNextPageSelector(): String = "div.pagination a:contains(ยป)" override fun popularMangaSelector(): String = "div#discover-response li" override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply { - thumbnail_url = element.select("img").attr("abs:src") + thumbnail_url = element.selectFirst("img")!!.imgAttr() element.select("div.subject-title a").first()!!.apply { title = this.text().trim() url = this.attr("href") @@ -53,10 +53,10 @@ class ReadM : ParsedHttpSource() { // Latest override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/latest-releases/$page", headers) - override fun latestUpdatesNextPageSelector(): String? = popularMangaNextPageSelector() + override fun latestUpdatesNextPageSelector(): String = popularMangaNextPageSelector() override fun latestUpdatesSelector(): String = "ul.latest-updates > li" override fun latestUpdatesFromElement(element: Element): SManga = SManga.create().apply { - thumbnail_url = element.select("img").attr("abs:data-src") + thumbnail_url = element.selectFirst("img")!!.imgAttr() element.select("h2 a").first()!!.apply { title = this.text().trim() url = this.attr("href") @@ -93,7 +93,7 @@ class ReadM : ParsedHttpSource() { // Details override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply { - thumbnail_url = document.select("img.series-profile-thumb").attr("abs:src") + thumbnail_url = document.selectFirst("img.series-profile-thumb")!!.imgAttr() title = document.select("h1.page-title").text().trim() author = document.select("span#first_episode a").text().trim() artist = document.select("span#last_episode a").text().trim() @@ -156,6 +156,13 @@ class ReadM : ParsedHttpSource() { override fun imageUrlParse(document: Document): String = throw Exception("Not Used") override fun pageListParse(document: Document): List = document.select("div.ch-images img").mapIndexed { index, element -> - Page(index, "", element.attr("abs:src")) + Page(index, "", element.imgAttr()) + } + + private fun Element.imgAttr(): String { + return when { + this.hasAttr("data-src") -> this.attr("abs:data-src") + else -> this.attr("abs:src") + } } }