mobi2002 18a29b81c9
Guya: remove proxy support and updates for extensions-lib 1.4 (#15384)
* Guya: remove proxy support and updates for extensions-lib 1.4

* use `mangaDetailsRequest` in `fetchMangaDetails`

Co-authored-by: ObserverOfTime <chronobserver@disroot.org>

* simplify chapter url

* chapter url again

---------

Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
2023-02-18 12:31:44 -03:00

51 lines
1.9 KiB
Kotlin

package eu.kanade.tachiyomi.extension.all.magicaltranslators
import eu.kanade.tachiyomi.multisrc.guya.Guya
import eu.kanade.tachiyomi.source.SourceFactory
import eu.kanade.tachiyomi.source.model.MangasPage
import okhttp3.Response
class MagicalTranslatorsFactory : SourceFactory {
override fun createSources() = listOf(
MagicalTranslatorsEN(),
MagicalTranslatorsES(),
MagicalTranslatorsPL(),
)
}
abstract class MagicalTranslatorsCommon(lang: String) :
Guya("Magical Translators", "https://mahoushoujobu.com", lang) {
protected abstract fun filterMangasPage(mangasPage: MangasPage): MangasPage
override fun popularMangaParse(response: Response): MangasPage =
filterMangasPage(super.popularMangaParse(response))
override fun latestUpdatesParse(response: Response): MangasPage =
filterMangasPage(super.latestUpdatesParse(response))
override fun searchMangaParseWithSlug(response: Response, slug: String): MangasPage =
filterMangasPage(super.searchMangaParseWithSlug(response, slug))
override fun searchMangaParse(response: Response, query: String): MangasPage =
filterMangasPage(super.searchMangaParse(response, query))
}
class MagicalTranslatorsEN : MagicalTranslatorsCommon("en") {
override fun filterMangasPage(mangasPage: MangasPage): MangasPage = mangasPage.copy(
mangas = mangasPage.mangas.filterNot { it.url.endsWith("-ES") || it.url.endsWith("-PL") },
)
}
class MagicalTranslatorsES : MagicalTranslatorsCommon("es") {
override fun filterMangasPage(mangasPage: MangasPage): MangasPage = mangasPage.copy(
mangas = mangasPage.mangas.filter { it.url.endsWith("-ES") },
)
}
class MagicalTranslatorsPL : MagicalTranslatorsCommon("pl") {
override fun filterMangasPage(mangasPage: MangasPage): MangasPage = mangasPage.copy(
mangas = mangasPage.mangas.filter { it.url.endsWith("-PL") },
)
}