diff --git a/multisrc/overrides/madara/setsuscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/madara/setsuscans/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 000000000..f9fa46cf0 Binary files /dev/null and b/multisrc/overrides/madara/setsuscans/res/mipmap-hdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/setsuscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/madara/setsuscans/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 000000000..0faae242f Binary files /dev/null and b/multisrc/overrides/madara/setsuscans/res/mipmap-mdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/setsuscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/madara/setsuscans/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 000000000..399bd4736 Binary files /dev/null and b/multisrc/overrides/madara/setsuscans/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/setsuscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/madara/setsuscans/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..d649e78d6 Binary files /dev/null and b/multisrc/overrides/madara/setsuscans/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/setsuscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/madara/setsuscans/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 000000000..6e1b0090a Binary files /dev/null and b/multisrc/overrides/madara/setsuscans/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/setsuscans/res/web_hi_res_512.png b/multisrc/overrides/madara/setsuscans/res/web_hi_res_512.png new file mode 100644 index 000000000..af6c6d024 Binary files /dev/null and b/multisrc/overrides/madara/setsuscans/res/web_hi_res_512.png differ diff --git a/multisrc/overrides/madara/setsuscans/src/SetsuScans.kt b/multisrc/overrides/madara/setsuscans/src/SetsuScans.kt new file mode 100644 index 000000000..967fe76fc --- /dev/null +++ b/multisrc/overrides/madara/setsuscans/src/SetsuScans.kt @@ -0,0 +1,62 @@ +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") + .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" +} 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 c655b1783..84636f54b 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 @@ -429,6 +429,7 @@ class MadaraGenerator : ThemeSourceGenerator { SingleLang("Scan Hentai Menu", "https://scan.hentai.menu", "fr", isNsfw = true, overrideVersionCode = 1), SingleLang("Scantrad-VF", "https://scantrad-vf.co", "fr", className = "ScantradVF"), SingleLang("Sdl scans", "https://sdlscans.com", "es", className = "SdlScans"), + SingleLang("Setsu Scans", "https://setsuscans.com", "en"), SingleLang("Shadowtrad", "https://shadowtrad.net", "fr"), SingleLang("ShavelProiection", "https://www.shavelproiection.com", "it", true), SingleLang("Shayami", "https://shayami.com", "es"),