46 lines
1.3 KiB
Kotlin
46 lines
1.3 KiB
Kotlin
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."
|
|
}
|
|
}
|