From 689c3beb83abd37d60d2a293de8ada014e9a54a1 Mon Sep 17 00:00:00 2001 From: Alessandro Jean Date: Mon, 19 Jul 2021 15:31:15 -0300 Subject: [PATCH] Add a new source to Madara (closes #8187). (#8188) --- .../dreamunionscan/src/DreamUnionScan.kt | 43 +++++++++++++++++++ .../multisrc/madara/MadaraGenerator.kt | 1 + 2 files changed, 44 insertions(+) create mode 100644 multisrc/overrides/madara/dreamunionscan/src/DreamUnionScan.kt diff --git a/multisrc/overrides/madara/dreamunionscan/src/DreamUnionScan.kt b/multisrc/overrides/madara/dreamunionscan/src/DreamUnionScan.kt new file mode 100644 index 000000000..97d598aed --- /dev/null +++ b/multisrc/overrides/madara/dreamunionscan/src/DreamUnionScan.kt @@ -0,0 +1,43 @@ +package eu.kanade.tachiyomi.extension.pt.dreamunionscan + +import eu.kanade.tachiyomi.lib.ratelimit.RateLimitInterceptor +import eu.kanade.tachiyomi.multisrc.madara.Madara +import okhttp3.Interceptor +import okhttp3.OkHttpClient +import okhttp3.Response +import java.io.IOException +import java.text.SimpleDateFormat +import java.util.Locale +import java.util.concurrent.TimeUnit + +class DreamUnionScan : Madara( + "Dream Union Scan", + "https://www.dreamunionscan.com", + "pt-BR", + SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR")) +) { + + override val client: OkHttpClient = super.client.newBuilder() + .addInterceptor(::authWarningIntercept) + .addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS)) + .build() + + override val altName: String = "Nome alternativo: " + + override fun popularMangaSelector() = "div.page-item-detail.manga" + + private fun authWarningIntercept(chain: Interceptor.Chain): Response { + val response = chain.proceed(chain.request()) + + if (response.request.url.toString().contains("wp-login.php")) { + response.close() + throw IOException(NEED_LOGIN) + } + + return response + } + + companion object { + private const val NEED_LOGIN = "É necessário realizar o login via WebView para acessar a fonte." + } +} diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt index b83f9d104..86502b7e4 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt @@ -72,6 +72,7 @@ class MadaraGenerator : ThemeSourceGenerator { SingleLang("DoujinHentai", "https://doujinhentai.net", "es", isNsfw = true, overrideVersionCode = 1), SingleLang("Dream Manga", "https://en.ruyamanga.com", "en", overrideVersionCode = 2), SingleLang("Drope Scan", "https://dropescan.com", "pt-BR", overrideVersionCode = 2), + SingleLang("Dream Union Scan", "https://www.dreamunionscan.com", "pt-BR"), SingleLang("Esomanga", "http://esomanga.com", "tr"), SingleLang("Exo Scans", "https://exoscans.club", "en"), SingleLang("FDM Scan", "https://fdmscan.com", "pt-BR", overrideVersionCode = 2),