From ad58836d20d0aad295994f47764783ab6bd30579 Mon Sep 17 00:00:00 2001 From: bapeey <90949336+bapeey@users.noreply.github.com> Date: Sun, 9 Feb 2025 02:34:30 -0500 Subject: [PATCH] Visor Inari: Update domain and theme (#7563) * change theme * add genre selector * fix chapterlist edge case --- src/es/inarimanga/build.gradle | 6 +-- .../extension/es/inarimanga/VisorInari.kt | 48 +++++++++++++++++-- 2 files changed, 47 insertions(+), 7 deletions(-) diff --git a/src/es/inarimanga/build.gradle b/src/es/inarimanga/build.gradle index 80764082c..aab2a25a3 100644 --- a/src/es/inarimanga/build.gradle +++ b/src/es/inarimanga/build.gradle @@ -1,9 +1,9 @@ ext { extName = 'Visor Inari' extClass = '.VisorInari' - themePkg = 'mangathemesia' - baseUrl = 'https://worldinari.org' - overrideVersionCode = 17 + themePkg = 'madara' + baseUrl = 'https://vrinari.org' + overrideVersionCode = 9 isNsfw = true } diff --git a/src/es/inarimanga/src/eu/kanade/tachiyomi/extension/es/inarimanga/VisorInari.kt b/src/es/inarimanga/src/eu/kanade/tachiyomi/extension/es/inarimanga/VisorInari.kt index 20ba728de..bbc295938 100644 --- a/src/es/inarimanga/src/eu/kanade/tachiyomi/extension/es/inarimanga/VisorInari.kt +++ b/src/es/inarimanga/src/eu/kanade/tachiyomi/extension/es/inarimanga/VisorInari.kt @@ -1,20 +1,60 @@ package eu.kanade.tachiyomi.extension.es.inarimanga -import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia +import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.network.interceptor.rateLimitHost +import eu.kanade.tachiyomi.source.model.SChapter +import eu.kanade.tachiyomi.source.model.SManga import okhttp3.HttpUrl.Companion.toHttpUrl +import org.jsoup.nodes.Element import java.text.SimpleDateFormat import java.util.Locale -class VisorInari : MangaThemesia( +class VisorInari : Madara( "Visor Inari", - "https://worldinari.org", + "https://vrinari.org", "es", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("es")), ) { - override val id = 7949577653918285764 + override val versionId = 2 + + override val mangaSubString = "series" + + override val useLoadMoreRequest = LoadMoreStrategy.Always override val client = super.client.newBuilder() .rateLimitHost(baseUrl.toHttpUrl(), 3, 1) .build() + + override fun popularMangaSelector() = "div.latest-poster" + + override fun popularMangaFromElement(element: Element) = SManga.create().apply { + title = element.selectFirst("h3")!!.text() + thumbnail_url = element.selectFirst("a[style].bg-cover")?.imageFromStyle() + setUrlWithoutDomain(element.selectFirst("a")!!.attr("href")) + } + + override fun searchMangaSelector() = "button.group > div.grid" + + override fun searchMangaFromElement(element: Element) = SManga.create().apply { + title = element.selectFirst("h3")!!.text() + thumbnail_url = element.selectFirst("div[style].bg-cover")?.imageFromStyle() + setUrlWithoutDomain(element.selectFirst("a")!!.attr("href")) + } + + override val mangaDetailsSelectorTitle = "div.wp-manga div.grid > h1" + override val mangaDetailsSelectorStatus = "div.wp-manga div[alt=type]:eq(0) > span" + override val mangaDetailsSelectorGenre = "div.wp-manga div[alt=type]:gt(0) > span" + override val mangaDetailsSelectorDescription = "div.wp-manga div#expand_content" + + override fun chapterListSelector() = "ul#list-chapters li > a" + + override fun chapterFromElement(element: Element) = SChapter.create().apply { + name = element.selectFirst("div.grid > span")!!.text() + date_upload = element.selectFirst("div.grid > div")?.text()?.let { parseChapterDate(it) } ?: 0 + setUrlWithoutDomain(element.selectFirst("a")!!.attr("href")) + } + + private fun Element.imageFromStyle(): String { + return this.attr("style").substringAfter("url(").substringBefore(")") + } }