diff --git a/multisrc/overrides/madara/fleurblanche/src/FleurBlanche.kt b/multisrc/overrides/madara/fleurblanche/src/FleurBlanche.kt new file mode 100644 index 000000000..5a79db1f3 --- /dev/null +++ b/multisrc/overrides/madara/fleurblanche/src/FleurBlanche.kt @@ -0,0 +1,45 @@ +package eu.kanade.tachiyomi.extension.pt.fleurblanche + +import eu.kanade.tachiyomi.annotations.Nsfw +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 + +@Nsfw +class FleurBlanche : Madara( + "Fleur Blanche", + "https://fleurscan.com", + "pt-BR", + SimpleDateFormat("MM/dd/yyyy", Locale("pt", "BR")) +) { + + override val client: OkHttpClient = super.client.newBuilder() + .addInterceptor(::authWarningIntercept) + .addInterceptor(RateLimitInterceptor(1, 2, 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 8c37741bb..17f8fb29e 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 @@ -76,6 +76,7 @@ class MadaraGenerator : ThemeSourceGenerator { SingleLang("Esomanga", "http://esomanga.com", "tr"), SingleLang("FastManhwa", "https://fastmanhwa.net", "en", isNsfw = true, overrideVersionCode = 1), SingleLang("FDM Scan", "https://fdmscan.com", "pt-BR", overrideVersionCode = 3), + SingleLang("Fleur Blanche", "https://fleurscan.com", "pt-BR", isNsfw = true), SingleLang("Free Manga", "https://freemanga.me", "en", isNsfw = true, overrideVersionCode = 2), SingleLang("FreeWebtoonCoins", "https://freewebtooncoins.com", "en", overrideVersionCode = 1), SingleLang("Fudido Scanlator", "https://fudidoscan.com", "pt-BR", isNsfw = true, overrideVersionCode = 2),