Visor Inari: Update domain and theme (#7563)

* change theme

* add genre selector

* fix chapterlist edge case
This commit is contained in:
bapeey 2025-02-09 02:34:30 -05:00 committed by Draff
parent a4934b8529
commit ad58836d20
No known key found for this signature in database
GPG Key ID: E8A89F3211677653
2 changed files with 47 additions and 7 deletions

View File

@ -1,9 +1,9 @@
ext { ext {
extName = 'Visor Inari' extName = 'Visor Inari'
extClass = '.VisorInari' extClass = '.VisorInari'
themePkg = 'mangathemesia' themePkg = 'madara'
baseUrl = 'https://worldinari.org' baseUrl = 'https://vrinari.org'
overrideVersionCode = 17 overrideVersionCode = 9
isNsfw = true isNsfw = true
} }

View File

@ -1,20 +1,60 @@
package eu.kanade.tachiyomi.extension.es.inarimanga 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.network.interceptor.rateLimitHost
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.HttpUrl.Companion.toHttpUrl
import org.jsoup.nodes.Element
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Locale import java.util.Locale
class VisorInari : MangaThemesia( class VisorInari : Madara(
"Visor Inari", "Visor Inari",
"https://worldinari.org", "https://vrinari.org",
"es", "es",
dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("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() override val client = super.client.newBuilder()
.rateLimitHost(baseUrl.toHttpUrl(), 3, 1) .rateLimitHost(baseUrl.toHttpUrl(), 3, 1)
.build() .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(")")
}
} }