From dcd10c63f8f8cf61da3b625c0e261482eeadcfb7 Mon Sep 17 00:00:00 2001 From: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com> Date: Sat, 21 Oct 2023 13:38:31 -0300 Subject: [PATCH] Fix some selectors in a MangaThemesia source (#18650) Fix some selectors in a MangaThemesia source. --- .../diskusscan/src/DiskusScan.kt | 38 +++++++++++++++++-- .../mangathemesia/MangaThemesiaGenerator.kt | 2 +- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/multisrc/overrides/mangathemesia/diskusscan/src/DiskusScan.kt b/multisrc/overrides/mangathemesia/diskusscan/src/DiskusScan.kt index e5798ff4f..17bf4b5c0 100644 --- a/multisrc/overrides/mangathemesia/diskusscan/src/DiskusScan.kt +++ b/multisrc/overrides/mangathemesia/diskusscan/src/DiskusScan.kt @@ -1,9 +1,13 @@ package eu.kanade.tachiyomi.extension.pt.diskusscan import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia +import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.interceptor.rateLimit +import eu.kanade.tachiyomi.source.model.Page +import eu.kanade.tachiyomi.source.model.SManga import okhttp3.Headers import okhttp3.OkHttpClient +import okhttp3.Request import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit @@ -19,10 +23,38 @@ class DiskusScan : MangaThemesia( override val versionId = 2 override val client: OkHttpClient = super.client.newBuilder() - .rateLimit(1, 2, TimeUnit.SECONDS) + .rateLimit(2, 1, TimeUnit.SECONDS) .build() override fun headersBuilder(): Headers.Builder = super.headersBuilder() - .set("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8") - .set("Accept-Language", "pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3") + .set("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7") + .set("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") + .set("Dnt", "1") + .set("Sec-Fetch-Dest", "document") + .set("Sec-Fetch-Mode", "navigate") + .set("Sec-Fetch-Site", "same-origin") + .set("Sec-Fetch-User", "?1") + + override fun mangaDetailsRequest(manga: SManga): Request { + val newHeaders = headersBuilder() + .set("Referer", baseUrl + mangaUrlDirectory) + .build() + + return GET(baseUrl + manga.url, newHeaders) + } + + override val seriesAuthorSelector = ".infotable tr:contains(Autor) td:last-child" + override val seriesDescriptionSelector = ".entry-content[itemprop=description] > *:not([class^=disku])" + + override fun chapterListRequest(manga: SManga) = mangaDetailsRequest(manga) + + override fun imageUrlRequest(page: Page): Request { + val newHeaders = super.imageUrlRequest(page).headers.newBuilder() + .set("Sec-Fetch-Dest", "image") + .set("Sec-Fetch-Mode", "no-cors") + .set("Sec-Fetch-Site", "cross-site") + .build() + + return GET(page.imageUrl!!, newHeaders) + } } 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 c11a847e6..fe91857c8 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 @@ -29,7 +29,7 @@ class MangaThemesiaGenerator : ThemeSourceGenerator { SingleLang("Cartel de Manhwas", "https://carteldemanhwas.com", "es", overrideVersionCode = 5), SingleLang("Cosmic Scans", "https://cosmicscans.com", "en", overrideVersionCode = 1), SingleLang("CosmicScans.id", "https://cosmicscans.id", "id", overrideVersionCode = 3, className = "CosmicScansID"), - SingleLang("Diskus Scan", "https://diskusscan.com", "pt-BR", overrideVersionCode = 7), + SingleLang("Diskus Scan", "https://diskusscan.com", "pt-BR", overrideVersionCode = 8), SingleLang("Dojing.net", "https://dojing.net", "id", isNsfw = true, className = "DojingNet"), SingleLang("DuniaKomik.id", "https://duniakomik.org", "id", className = "DuniaKomikId", overrideVersionCode = 2), SingleLang("ElarcPage", "https://elarcpage.com", "en"),