64 lines
1.8 KiB
Kotlin
64 lines
1.8 KiB
Kotlin
package eu.kanade.tachiyomi.extension.en.setsuscans
|
|
|
|
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
|
import eu.kanade.tachiyomi.network.interceptor.rateLimit
|
|
import eu.kanade.tachiyomi.source.model.MangasPage
|
|
import okhttp3.Response
|
|
|
|
class SetsuScans : Madara(
|
|
"Setsu Scans",
|
|
"https://setsuscans.com",
|
|
"en",
|
|
) {
|
|
override val client = super.client.newBuilder()
|
|
.addNetworkInterceptor { chain ->
|
|
val request = chain.request()
|
|
val url = request.url
|
|
if (url.host == "i0.wp.com") {
|
|
val newUrl = url.newBuilder()
|
|
.removeAllQueryParameters("fit")
|
|
.removeAllQueryParameters("ssl")
|
|
.build()
|
|
|
|
return@addNetworkInterceptor chain.proceed(
|
|
request.newBuilder()
|
|
.url(newUrl)
|
|
.build(),
|
|
)
|
|
}
|
|
|
|
return@addNetworkInterceptor chain.proceed(request)
|
|
}
|
|
.rateLimit(2)
|
|
.build()
|
|
|
|
override val useNewChapterEndpoint = true
|
|
|
|
override fun searchPage(page: Int): String {
|
|
return if (page > 1) {
|
|
"page/$page/"
|
|
} else {
|
|
""
|
|
}
|
|
}
|
|
|
|
override fun popularMangaParse(response: Response) =
|
|
super.popularMangaParse(response).fixNextPage()
|
|
|
|
override fun latestUpdatesParse(response: Response) =
|
|
super.latestUpdatesParse(response).fixNextPage()
|
|
|
|
override fun searchMangaParse(response: Response) =
|
|
super.searchMangaParse(response).fixNextPage()
|
|
|
|
private fun MangasPage.fixNextPage(): MangasPage {
|
|
return if (mangas.size < 12) {
|
|
MangasPage(mangas, false)
|
|
} else {
|
|
this
|
|
}
|
|
}
|
|
|
|
override val mangaDetailsSelectorStatus = "div.summary-heading:contains(status) + div.summary-content"
|
|
}
|