package eu.kanade.tachiyomi.extension.pt.reaperscansbr import eu.kanade.tachiyomi.lib.ratelimit.RateLimitInterceptor import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.source.model.SChapter import okhttp3.OkHttpClient import org.jsoup.nodes.Element import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit class ReaperScansBr : Madara( "Reaper Scans (BR)", "https://reaperscans.com.br", "pt-BR", SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR")) ) { override val client: OkHttpClient = super.client.newBuilder() .addInterceptor(RateLimitInterceptor(1, 2, TimeUnit.SECONDS)) .build() override val altName: String = "Nome alternativo: " override fun popularMangaSelector() = "div.page-item-detail.manga" override fun chapterFromElement(element: Element): SChapter { val chapter = SChapter.create() with(element) { select(chapterUrlSelector).first()?.let { urlElement -> chapter.url = urlElement.attr("abs:href").let { it.substringBefore("?style=paged") + if (!it.endsWith(chapterUrlSuffix)) chapterUrlSuffix else "" } chapter.name = urlElement.ownText() } // Dates can be part of a "new" graphic or plain text // Added "title" alternative chapter.date_upload = select("img").firstOrNull()?.attr("alt")?.let { parseRelativeDate(it) } ?: select("span a").firstOrNull()?.attr("title")?.let { parseRelativeDate(it) } ?: parseChapterDate(select("span.chapter-release-date i").firstOrNull()?.text()) } return chapter } }