From 1d34fe83b028409b80518085184640f8602ecb27 Mon Sep 17 00:00:00 2001 From: Mike <51273546+SnakeDoc83@users.noreply.github.com> Date: Mon, 13 Apr 2020 08:20:14 -0400 Subject: [PATCH] Madara - chapters, thumbnails (#2655) Madara - chapters, thumbnails --- src/all/madara/build.gradle | 2 +- .../tachiyomi/extension/all/madara/Madara.kt | 18 +++++++++++------- .../extension/all/madara/MadaraFactory.kt | 5 +---- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/all/madara/build.gradle b/src/all/madara/build.gradle index 8d99c690e..0256c8541 100644 --- a/src/all/madara/build.gradle +++ b/src/all/madara/build.gradle @@ -5,7 +5,7 @@ ext { appName = 'Tachiyomi: Madara (multiple sources)' pkgNameSuffix = "all.madara" extClass = '.MadaraFactory' - extVersionCode = 68 + extVersionCode = 69 libVersion = '1.2' } diff --git a/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/Madara.kt b/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/Madara.kt index 8a14eeb39..a2aef0af2 100644 --- a/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/Madara.kt +++ b/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/Madara.kt @@ -20,7 +20,6 @@ import okhttp3.Response import okhttp3.RequestBody import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import org.jsoup.select.Elements import rx.Observable import java.text.ParseException import java.text.SimpleDateFormat @@ -59,7 +58,7 @@ abstract class Madara( } select("img").first()?.let { - manga.thumbnail_url = it.absUrl(if (it.hasAttr("data-src")) "data-src" else "src") + manga.thumbnail_url = imageFromElement(it) } } @@ -304,7 +303,7 @@ abstract class Madara( manga.title = it.ownText() } select("img").first()?.let { - manga.thumbnail_url = it.absUrl(if (it.hasAttr("data-src")) "data-src" else "src") + manga.thumbnail_url = imageFromElement(it) } } @@ -338,7 +337,7 @@ abstract class Madara( } } select("div.summary_image img").first()?.let { - manga.thumbnail_url = detailsThumbnail(it) + manga.thumbnail_url = imageFromElement(it) } select("div.summary-content").last()?.let { manga.status = when (it.text()) { @@ -360,8 +359,13 @@ abstract class Madara( return manga } - open fun detailsThumbnail(element: Element): String { - return element.absUrl(if (element.hasAttr("data-src")) "data-src" else "src") + private fun imageFromElement(element: Element): String? { + return when { + element.hasAttr("data-src") -> element.attr("abs:data-src") + element.hasAttr("data-lazy-src") -> element.attr("abs:data-lazy-src") + element.hasAttr("srcset") -> element.attr("abs:srcset").substringBefore(" ") + else -> element.attr("abs:src") + } } private fun getXhrChapters(mangaId: String): Document { @@ -378,7 +382,7 @@ abstract class Madara( .let { elements -> if (elements.isEmpty() && !document.select(dataIdSelector).isNullOrEmpty()) getXhrChapters(document.select(dataIdSelector).attr("data-id")).select(chapterListSelector()) - else Elements() + else elements } .map { chapterFromElement(it) } } diff --git a/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/MadaraFactory.kt b/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/MadaraFactory.kt index 5355a0ec0..f8f95783f 100644 --- a/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/MadaraFactory.kt +++ b/src/all/madara/src/eu/kanade/tachiyomi/extension/all/madara/MadaraFactory.kt @@ -175,9 +175,6 @@ class MangazukiClubKO : Madara("Mangazuki.club", "https://mangazuki.club", "ko") class FirstKissManga : Madara("1st Kiss", "https://1stkissmanga.com", "en", dateFormat = SimpleDateFormat("dd MMM yyyy", Locale.US)) { override fun headersBuilder(): Headers.Builder = super.headersBuilder().add("Referer", baseUrl) - override fun detailsThumbnail(element: Element): String { - return if (element.hasAttr("data-lazy-src")) element.attr("abs:data-lazy-src") else super.detailsThumbnail(element) - } } class MangaSY : Madara("Manga SY", "https://www.mangasy.com", "en") @@ -269,7 +266,7 @@ class Milftoon : Madara("Milftoon", "https://milftoon.xxx", "en") { override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/page/$page/?m_orderby=latest", headers) } -class Hiperdex : Madara("Hiperdex", "https://hiperdex.com", "en") { +class Hiperdex : Madara("Hiperdex", "https://hiperdex.net", "en") { override fun getGenreList() = listOf( Genre("Adult", "adult"), Genre("Action", "action"),