From 746243a82007ae11e76eb40384b823d65ed833b3 Mon Sep 17 00:00:00 2001 From: Chopper <156493704+choppeh@users.noreply.github.com> Date: Sat, 28 Jun 2025 12:05:53 -0300 Subject: [PATCH] PinkRosa: Fix loading content (#9463) Fix loading content --- src/pt/pinkrosa/build.gradle | 2 +- .../extension/pt/pinkrosa/PinkRosa.kt | 45 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/src/pt/pinkrosa/build.gradle b/src/pt/pinkrosa/build.gradle index ba92f75ac..87739f3bd 100644 --- a/src/pt/pinkrosa/build.gradle +++ b/src/pt/pinkrosa/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.PinkRosa' themePkg = 'zeistmanga' baseUrl = 'https://scanpinkrosa.blogspot.com' - overrideVersionCode = 0 + overrideVersionCode = 1 isNsfw = false } diff --git a/src/pt/pinkrosa/src/eu/kanade/tachiyomi/extension/pt/pinkrosa/PinkRosa.kt b/src/pt/pinkrosa/src/eu/kanade/tachiyomi/extension/pt/pinkrosa/PinkRosa.kt index db8253e52..5997d0295 100644 --- a/src/pt/pinkrosa/src/eu/kanade/tachiyomi/extension/pt/pinkrosa/PinkRosa.kt +++ b/src/pt/pinkrosa/src/eu/kanade/tachiyomi/extension/pt/pinkrosa/PinkRosa.kt @@ -2,6 +2,12 @@ package eu.kanade.tachiyomi.extension.pt.pinkrosa import eu.kanade.tachiyomi.multisrc.zeistmanga.ZeistManga import eu.kanade.tachiyomi.network.interceptor.rateLimit +import eu.kanade.tachiyomi.source.model.Page +import eu.kanade.tachiyomi.source.model.SManga +import eu.kanade.tachiyomi.util.asJsoup +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.Response +import org.jsoup.nodes.Document class PinkRosa : ZeistManga( "Pink Rosa", @@ -11,4 +17,43 @@ class PinkRosa : ZeistManga( override val client = super.client.newBuilder() .rateLimit(3) .build() + + override val supportsLatest = false + + override fun fetchPopularManga(page: Int) = super.fetchLatestUpdates(page) + + override fun mangaDetailsParse(response: Response) = SManga.create().apply { + val document = response.asJsoup() + title = document.selectFirst("h1")!!.text() + description = document.selectFirst("#syn_bod")?.text() + thumbnail_url = document.selectFirst(".thum")?.attr("style")?.let { + THUMBNAIL_REGEX.find(it)?.groups?.get(1)?.value + } + author = document.selectFirst("#tauther")?.text() + genre = document.select("a[href*=label][rel]").joinToString { it.text() } + setUrlWithoutDomain(document.location()) + } + + override fun getChapterFeedUrl(doc: Document): String { + val label = doc.selectFirst(".chapter_get")!!.attr("data-labelchapter") + return "$baseUrl/feeds/posts/default/-".toHttpUrl().newBuilder() + .addPathSegment(label) + .addQueryParameter("alt", "json") + .addQueryParameter("start-index", "1") + .addQueryParameter("max-results", "999") + .build().toString() + } + + override val pageListSelector = "div.separator a" + + override fun pageListParse(response: Response): List { + val document = response.asJsoup() + return document.select(pageListSelector).mapIndexed { index, element -> + Page(index, imageUrl = element.absUrl("href")) + } + } + + companion object { + val THUMBNAIL_REGEX = """url."([^"]+)""".toRegex() + } }