Add SafireScan (#7575)

This commit is contained in:
Hellkaros 2025-02-10 11:47:33 -03:00 committed by Draff
parent 7926ca6011
commit d438400491
No known key found for this signature in database
GPG Key ID: E8A89F3211677653
7 changed files with 54 additions and 0 deletions

View File

@ -0,0 +1,10 @@
ext {
extName = 'Safire Scan'
extClass = '.SafireScan'
themePkg = 'zeistmanga'
baseUrl = 'https://www.safirescan.xyz'
overrideVersionCode = 0
isNsfw = true
}
apply from: "$rootDir/common.gradle"

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -0,0 +1,44 @@
package eu.kanade.tachiyomi.extension.pt.safirescan
import eu.kanade.tachiyomi.multisrc.zeistmanga.ZeistManga
import eu.kanade.tachiyomi.network.interceptor.rateLimit
import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.util.asJsoup
import okhttp3.Response
import java.util.concurrent.TimeUnit
class SafireScan : ZeistManga(
"Safire Scan",
"https://www.safirescan.xyz",
"pt-BR",
) {
override val client = super.client.newBuilder()
.rateLimit(2, 1, TimeUnit.SECONDS)
.build()
override val popularMangaSelector = "div.PopularPosts.mt-4 div.grid > article"
override val popularMangaSelectorTitle = "h3 > a"
override val popularMangaSelectorUrl = "div.item-thumbnail > a"
override val mangaDetailsSelector = "div.Blog"
override val mangaDetailsSelectorDescription = "#synopsis > p"
override val mangaDetailsSelectorGenres = "dl.flex:contains(Gênero) > dd > a[rel=tag]"
override val mangaDetailsSelectorAuthor = "#extra-info div:contains(Autor)"
override val mangaDetailsSelectorArtist = "#extra-info div:contains(Artista)"
override val mangaDetailsSelectorInfo = "span.mr-2.rounded"
override fun mangaDetailsParse(response: Response): SManga {
val document = response.asJsoup()
val blog = document.selectFirst(mangaDetailsSelector)!!
return SManga.create().apply {
thumbnail_url = blog.selectFirst("header div.grid > img")!!.attr("abs:src")
description = blog.selectFirst(mangaDetailsSelectorDescription)!!.text()
genre = blog.select(mangaDetailsSelectorGenres)
.joinToString { it.text() }
author = blog.selectFirst(mangaDetailsSelectorAuthor)?.text()
artist = blog.selectFirst(mangaDetailsSelectorArtist)?.text()
status = parseStatus(blog.selectFirst(mangaDetailsSelectorInfo)!!.text())
}
}
override val pageListSelector = "div.separator img"
}