From 268a4c5dd5820be1db4c4e1c3ddf9e6927d4d37d Mon Sep 17 00:00:00 2001 From: WebDitto Date: Wed, 28 Aug 2024 18:18:31 -0300 Subject: [PATCH] fix(pt/animesgames): Fixed pt/AnimesGames images (#186) --- src/pt/animesgames/build.gradle | 2 +- .../pt/animesgames/AnimesGames.kt | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/pt/animesgames/build.gradle b/src/pt/animesgames/build.gradle index bd2f4941..24c668fa 100644 --- a/src/pt/animesgames/build.gradle +++ b/src/pt/animesgames/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Animes Games' extClass = '.AnimesGames' - extVersionCode = 3 + extVersionCode = 4 } apply from: "$rootDir/common.gradle" diff --git a/src/pt/animesgames/src/eu/kanade/tachiyomi/animeextension/pt/animesgames/AnimesGames.kt b/src/pt/animesgames/src/eu/kanade/tachiyomi/animeextension/pt/animesgames/AnimesGames.kt index d719cac8..578c3caf 100644 --- a/src/pt/animesgames/src/eu/kanade/tachiyomi/animeextension/pt/animesgames/AnimesGames.kt +++ b/src/pt/animesgames/src/eu/kanade/tachiyomi/animeextension/pt/animesgames/AnimesGames.kt @@ -61,7 +61,7 @@ class AnimesGames : ParsedAnimeHttpSource() { override fun latestUpdatesFromElement(element: Element) = SAnime.create().apply { setUrlWithoutDomain(element.attr("href")) title = element.selectFirst("div.tituloEP")!!.text() - thumbnail_url = element.selectFirst("img")?.attr("data-lazy-src") + thumbnail_url = element.selectFirst("img")?.getImageUrl() } override fun latestUpdatesNextPageSelector() = "ol.pagination > a:contains(>)" @@ -144,7 +144,7 @@ class AnimesGames : ParsedAnimeHttpSource() { override fun searchAnimeFromElement(element: Element) = SAnime.create().apply { setUrlWithoutDomain(element.attr("href")) title = element.selectFirst("div.tituloAnime")!!.text() - thumbnail_url = element.selectFirst("img")!!.attr("src") + thumbnail_url = element.selectFirst("img")!!.getImageUrl() } override fun searchAnimeNextPageSelector(): String? { @@ -159,7 +159,7 @@ class AnimesGames : ParsedAnimeHttpSource() { title = content.selectFirst("section > h1")!!.text() .removePrefix("Assistir ") .removeSuffix("Temporada Online") - thumbnail_url = content.selectFirst("img")?.attr("data-lazy-src") + thumbnail_url = content.selectFirst("img")?.getImageUrl() description = content.select("section.sinopseEp p").eachText().joinToString("\n") val infos = content.selectFirst("div.info > ol")!! @@ -273,6 +273,19 @@ class AnimesGames : ParsedAnimeHttpSource() { .getOrNull() ?: 0L } + /** + * Tries to get the image url via various possible attributes. + * Taken from Tachiyomi's Madara multisrc. + */ + protected open fun Element.getImageUrl(): String? { + return when { + hasAttr("data-src") -> attr("abs:data-src") + hasAttr("data-lazy-src") -> attr("abs:data-lazy-src") + hasAttr("srcset") -> attr("abs:srcset").substringBefore(" ") + else -> attr("abs:src") + }.substringBefore("?resize") + } + companion object { const val PREFIX_SEARCH = "id:"