diff --git a/multisrc/overrides/zeistmanga/yokai/src/Yokai.kt b/multisrc/overrides/zeistmanga/yokai/src/Yokai.kt new file mode 100644 index 000000000..adf341392 --- /dev/null +++ b/multisrc/overrides/zeistmanga/yokai/src/Yokai.kt @@ -0,0 +1,41 @@ +package eu.kanade.tachiyomi.extension.ar.yokai + +import eu.kanade.tachiyomi.multisrc.zeistmanga.ZeistManga +import eu.kanade.tachiyomi.multisrc.zeistmanga.ZeistMangaDto +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.source.model.SChapter +import eu.kanade.tachiyomi.util.asJsoup +import kotlinx.serialization.json.Json +import kotlinx.serialization.json.decodeFromStream +import okhttp3.Response +import uy.kohesive.injekt.injectLazy + +class Yokai : ZeistManga("Yokai", "https://yokai-team.blogspot.com", "ar") { + private val json: Json by injectLazy() + + // ============================== Chapters ============================== + override fun chapterListParse(response: Response): List { + val document = response.use { it.asJsoup() } + + val url = getChapterFeedUrl(document) + + val result = client.newCall(GET(url, headers)).execute() + .use { json.decodeFromStream(it.body.byteStream()) } + + val originalList = result.feed?.entry + ?.filter { it.category.orEmpty().any { category -> category.term == chapterCategory } } + ?.map { it.toSChapter(baseUrl) } + ?: throw Exception("Failed to parse from chapter API") + + val additionalChapters = document.select("div#download > div.index-list > a").map { + SChapter.create().apply { + setUrlWithoutDomain(it.attr("href")) + val text = it.text().trim() + name = text + chapter_number = text.substringBefore(' ').toFloatOrNull() ?: 1F + } + } + + return originalList + additionalChapters + } +} diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/zeistmanga/ZeistMangaGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/zeistmanga/ZeistMangaGenerator.kt index ae2dc80ef..f6c10ba77 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/zeistmanga/ZeistMangaGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/zeistmanga/ZeistMangaGenerator.kt @@ -30,7 +30,7 @@ class ZeistMangaGenerator : ThemeSourceGenerator { SingleLang("SobatManKu", "https://www.sobatmanku19.site", "id"), SingleLang("Tooncubus", "https://www.tooncubus.top", "id", isNsfw = true), SingleLang("Tyrant Scans", "https://www.tyrantscans.com", "pt-BR"), - SingleLang("Yokai", "https://yokai-team.blogspot.com", "ar"), + SingleLang("Yokai", "https://yokai-team.blogspot.com", "ar", overrideVersionCode = 1), ) companion object {