Claudemirovsky bb7d02c94f pt/Diskus scan: Fix http 403 + fix manga status (#545)
* fix: Fix http 403 - Remove error-triggering headers

* fix: Fix manga status

* chore: Bump version
2024-01-30 22:07:01 +00:00

67 lines
2.3 KiB
Kotlin

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.Request
import java.text.SimpleDateFormat
import java.util.Locale
import java.util.concurrent.TimeUnit
class DiskusScan : MangaThemesia(
"Diskus Scan",
"https://diskusscan.com",
"pt-BR",
dateFormat = SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR")),
) {
// Changed their theme from Madara to MangaThemesia.
override val versionId = 2
override val client = super.client.newBuilder()
.rateLimit(2, 1, TimeUnit.SECONDS)
.build()
override fun headersBuilder() = super.headersBuilder()
.set("Dnt", "1")
.set("Sec-Fetch-Dest", "document")
.set("Sec-Fetch-Mode", "navigate")
.set("Sec-Fetch-Site", "same-origin")
.set("Sec-Fetch-User", "?1")
// =========================== Manga Details ============================
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 String?.parseStatus() = when (orEmpty().trim().lowercase()) {
"ativa" -> SManga.ONGOING
"finalizada" -> SManga.COMPLETED
"hiato" -> SManga.ON_HIATUS
else -> SManga.UNKNOWN
}
// ============================== Chapters ==============================
override fun chapterListRequest(manga: SManga) = mangaDetailsRequest(manga)
// =============================== Pages ================================
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)
}
}