package eu.kanade.tachiyomi.extension.en.agentofchangetranslations import android.annotation.SuppressLint import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.util.asJsoup import okhttp3.Headers import okhttp3.Response class AgentofChangeTranslations : Madara("Agent of Change Translations", "https://aoc.moe", "en") { override fun headersBuilder(): Headers.Builder = super.headersBuilder().add("Referer", baseUrl) override fun popularMangaSelector() = "div.page-item-detail.manga:has(span.chapter)" override fun chapterListSelector() = "li.wp-manga-chapter:has(a)" @SuppressLint("DefaultLocale") override fun chapterListParse(response: Response): List { return response.asJsoup().let { document -> document.select(chapterListSelector()).let { normalChapters -> if (normalChapters.isNotEmpty()) { normalChapters.map { chapterFromElement(it) } } else { // For their "fancy" volume/chapter lists document.select("div.wpb_wrapper:contains(volume) a") .filter { it.attr("href").contains(baseUrl) && !it.attr("href").contains("imgur") } .map { volumeChapter -> SChapter.create().apply { volumeChapter.attr("href").let { url -> name = if (url.contains("volume")) { val volume = url.substringAfter("volume-").substringBefore("/") val volChap = url.substringAfter("volume-$volume/").substringBefore("/").replace("-", " ").capitalize() "Volume $volume - $volChap" } else { url.substringBefore("/p").substringAfterLast("/").replace("-", " ").capitalize() } setUrlWithoutDomain(url.substringBefore("?") + "?style=list") } } } }.reversed() } } } }