From e0ce2732ade865b635f61530d30386b3566c95a9 Mon Sep 17 00:00:00 2001 From: Alessandro Jean Date: Sun, 21 Feb 2021 17:03:19 -0300 Subject: [PATCH] =?UTF-8?q?Temporary=20fix=20images=20not=20loading=20at?= =?UTF-8?q?=20SuperMang=C3=A1s.=20(#5954)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pt/supermangas/build.gradle | 2 +- .../pt/supermangas/SuperMangasGeneric.kt | 4 +-- .../pt/supermangas/source/SuperMangas.kt | 31 ++++++++++++++++++- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/src/pt/supermangas/build.gradle b/src/pt/supermangas/build.gradle index c91d66f49..1269ad3a1 100644 --- a/src/pt/supermangas/build.gradle +++ b/src/pt/supermangas/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Super Mangás' pkgNameSuffix = 'pt.supermangas' extClass = '.SuperMangasFactory' - extVersionCode = 5 + extVersionCode = 6 libVersion = '1.2' containsNsfw = true } diff --git a/src/pt/supermangas/src/eu/kanade/tachiyomi/extension/pt/supermangas/SuperMangasGeneric.kt b/src/pt/supermangas/src/eu/kanade/tachiyomi/extension/pt/supermangas/SuperMangasGeneric.kt index caf2d9742..7aacb6955 100644 --- a/src/pt/supermangas/src/eu/kanade/tachiyomi/extension/pt/supermangas/SuperMangasGeneric.kt +++ b/src/pt/supermangas/src/eu/kanade/tachiyomi/extension/pt/supermangas/SuperMangasGeneric.kt @@ -147,7 +147,7 @@ abstract class SuperMangasGeneric( override fun latestUpdatesSelector() = popularMangaSelector() - override fun latestUpdatesFromElement(element: Element) = genericMangaFromElement(element) + override fun latestUpdatesFromElement(element: Element) = genericMangaFromElement(element, "data-src") override fun latestUpdatesNextPageSelector(): String? = null @@ -370,7 +370,7 @@ abstract class SuperMangasGeneric( private const val ACCEPT_JSON = "application/json, text/javascript, */*; q=0.01" private const val ACCEPT_LANGUAGE = "pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7,es;q=0.6,gl;q=0.5" private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " + - "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" + "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36" private val JSON_PARSER by lazy { JsonParser() } diff --git a/src/pt/supermangas/src/eu/kanade/tachiyomi/extension/pt/supermangas/source/SuperMangas.kt b/src/pt/supermangas/src/eu/kanade/tachiyomi/extension/pt/supermangas/source/SuperMangas.kt index 743a22cfb..3a3f680ab 100644 --- a/src/pt/supermangas/src/eu/kanade/tachiyomi/extension/pt/supermangas/source/SuperMangas.kt +++ b/src/pt/supermangas/src/eu/kanade/tachiyomi/extension/pt/supermangas/source/SuperMangas.kt @@ -6,12 +6,19 @@ import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList import okhttp3.FormBody import okhttp3.HttpUrl +import okhttp3.Interceptor +import okhttp3.OkHttpClient import okhttp3.Request +import okhttp3.Response class SuperMangas : SuperMangasGeneric( "Super Mangás", "https://supermangas.site" ) { + override val client: OkHttpClient = network.cloudflareClient.newBuilder() + .addInterceptor(::tempCoverImageFixIntercept) + .build() + override val contentList = listOf( Triple("100", "", "Todos"), Triple("6", "", "Mangá"), @@ -33,8 +40,26 @@ class SuperMangas : SuperMangasGeneric( super.chapterListPaginatedBody(idCategory, page, totalPage) .add("order_audio", "pt-br") + private fun tempCoverImageFixIntercept(chain: Interceptor.Chain): Response { + val requestUrl = chain.request().url().toString() + + if (requestUrl.contains(IMG_CDN_URL) && requestUrl.contains("?src=")) { + val newUrl = requestUrl + .replace("?src=", "") + .replaceFirst("&", "?") + + val newRequest = chain.request().newBuilder() + .url(newUrl) + .build() + + return chain.proceed(newRequest) + } + + return chain.proceed(chain.request()) + } + override fun getFilterList() = FilterList( - Filter.Header("Filtros abaixo são ignorados na busca!"), + Filter.Header("Os filtros abaixo são ignorados na busca!"), ContentFilter(contentList), LetterFilter(), StatusFilter(), @@ -108,4 +133,8 @@ class SuperMangas : SuperMangasGeneric( Tag("70", "War"), Tag("15", "Yuri") ) + + companion object { + private const val IMG_CDN_URL = "https://img.supermangas.site" + } }