From b03de72347df9aee3a7279049bc296de6f3ff08a Mon Sep 17 00:00:00 2001 From: seew3l <90949336+seew3l@users.noreply.github.com> Date: Mon, 13 Mar 2023 09:34:24 -0500 Subject: [PATCH] AsuraScans: Fix thumbnails not loading in mobile UA (#15616) * Fix thumbnails (mobile UA) * Fix duplicates in TR site --- .../mangathemesia/asurascans/src/AsuraScans.kt | 17 +++++++++++++++++ .../asurascans/src/AsuraScansFactory.kt | 9 --------- .../mangathemesia/MangaThemesiaGenerator.kt | 2 +- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/multisrc/overrides/mangathemesia/asurascans/src/AsuraScans.kt b/multisrc/overrides/mangathemesia/asurascans/src/AsuraScans.kt index 865dad0cd..245278d81 100644 --- a/multisrc/overrides/mangathemesia/asurascans/src/AsuraScans.kt +++ b/multisrc/overrides/mangathemesia/asurascans/src/AsuraScans.kt @@ -9,8 +9,11 @@ import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage +import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SManga import okhttp3.OkHttpClient +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element import rx.Observable import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get @@ -53,6 +56,20 @@ open class AsuraScans( return super.fetchSearchManga(page, query, filters).tempUrlToPermIfNeeded() } + // Skip scriptPages + override fun pageListParse(document: Document): List { + return document.select(pageSelector) + .filterNot { it.attr("src").isNullOrEmpty() } + .mapIndexed { i, img -> Page(i, "", img.attr("abs:src")) } + } + + override fun Element.imgAttr(): String = when { + hasAttr("data-lazy-src") -> attr("abs:data-lazy-src") + hasAttr("data-src") -> attr("abs:data-src") + hasAttr("data-cfsrc") -> attr("abs:data-cfsrc") + else -> attr("abs:src") + } + private fun Observable.tempUrlToPermIfNeeded(): Observable { return this.map { mangasPage -> MangasPage( diff --git a/multisrc/overrides/mangathemesia/asurascans/src/AsuraScansFactory.kt b/multisrc/overrides/mangathemesia/asurascans/src/AsuraScansFactory.kt index 8b0c5e878..7b847e0d7 100644 --- a/multisrc/overrides/mangathemesia/asurascans/src/AsuraScansFactory.kt +++ b/multisrc/overrides/mangathemesia/asurascans/src/AsuraScansFactory.kt @@ -1,9 +1,7 @@ package eu.kanade.tachiyomi.extension.all.asurascans import eu.kanade.tachiyomi.source.SourceFactory -import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SManga -import org.jsoup.nodes.Document import java.text.SimpleDateFormat import java.util.Locale @@ -20,13 +18,6 @@ class AsuraScansEn : AsuraScans("https://asura.gg", "en", SimpleDateFormat("MMM override val pageSelector = "div.rdminimal > img, div.rdminimal > p > img, div.rdminimal > a > img, div.rdminimal > p > a > img, " + "div.rdminimal > noscript > img, div.rdminimal > p > noscript > img, div.rdminimal > a > noscript > img, div.rdminimal > p > a > noscript > img" - - // Skip scriptPages - override fun pageListParse(document: Document): List { - return document.select(pageSelector) - .filterNot { it.attr("src").isNullOrEmpty() } - .mapIndexed { i, img -> Page(i, "", img.attr("abs:src")) } - } } class AsuraScansTr : AsuraScans("https://asurascanstr.com", "tr", SimpleDateFormat("MMM d, yyyy", Locale("tr"))) { diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaGenerator.kt index 209aac753..2221d4076 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaGenerator.kt @@ -14,7 +14,7 @@ class MangaThemesiaGenerator : ThemeSourceGenerator { override val baseVersionCode: Int = 25 override val sources = listOf( - MultiLang("Asura Scans", "https://www.asurascans.com", listOf("en", "tr"), className = "AsuraScansFactory", pkgName = "asurascans", overrideVersionCode = 19), + MultiLang("Asura Scans", "https://www.asurascans.com", listOf("en", "tr"), className = "AsuraScansFactory", pkgName = "asurascans", overrideVersionCode = 20), MultiLang("Flame Scans", "https://flamescans.org", listOf("en"), className = "FlameScansFactory", pkgName = "flamescans", overrideVersionCode = 4), MultiLang("Komik Lab", "https://komiklab.com", listOf("en", "id"), className = "KomikLabFactory", pkgName = "komiklab", overrideVersionCode = 1), MultiLang("Miau Scan", "https://miauscan.com", listOf("es", "pt-BR")),