From c66abf25b95e984663af0fcc0ed5cf6586fed3d4 Mon Sep 17 00:00:00 2001 From: Chopper <156493704+choppeh@users.noreply.github.com> Date: Sun, 18 May 2025 02:36:50 -0300 Subject: [PATCH] SirenKomik: Fix loading pages (#8893) Fix loading pages --- src/id/mangkomik/build.gradle | 2 +- .../extension/id/mangkomik/SirenKomik.kt | 18 +++++++++++++----- .../extension/id/mangkomik/SirenKomikDto.kt | 10 +++++++--- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/id/mangkomik/build.gradle b/src/id/mangkomik/build.gradle index deea1a0c4..b442223c7 100644 --- a/src/id/mangkomik/build.gradle +++ b/src/id/mangkomik/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.SirenKomik' themePkg = 'mangathemesia' baseUrl = 'https://sirenkomik.my.id' - overrideVersionCode = 6 + overrideVersionCode = 7 } apply from: "$rootDir/common.gradle" diff --git a/src/id/mangkomik/src/eu/kanade/tachiyomi/extension/id/mangkomik/SirenKomik.kt b/src/id/mangkomik/src/eu/kanade/tachiyomi/extension/id/mangkomik/SirenKomik.kt index cff59c279..10624444e 100644 --- a/src/id/mangkomik/src/eu/kanade/tachiyomi/extension/id/mangkomik/SirenKomik.kt +++ b/src/id/mangkomik/src/eu/kanade/tachiyomi/extension/id/mangkomik/SirenKomik.kt @@ -1,11 +1,11 @@ package eu.kanade.tachiyomi.extension.id.mangkomik import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia -import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.POST import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import kotlinx.serialization.json.decodeFromStream -import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.FormBody import org.jsoup.nodes.Document import org.jsoup.nodes.Element import java.io.IOException @@ -42,11 +42,19 @@ class SirenKomik : MangaThemesia( ?.let { postIdRegex.find(it)?.groups?.get(1)?.value } ?: throw IOException("Post ID not found") - val pageUrl = "$baseUrl/wp-json/extras/v1/get-img-json".toHttpUrl().newBuilder() - .addQueryParameter("post_id", postId) + val payload = FormBody.Builder() + .add("action", "get_image_json") + .add("post_id", postId) .build() - val dto = client.newCall(GET(pageUrl, headers)).execute().use { + val response = client.newCall(POST("$baseUrl/wp-admin/admin-ajax.php", headers, payload)) + .execute() + + if (response.isSuccessful.not()) { + throw IOException("Pages not found") + } + + val dto = response.use { json.decodeFromStream(it.body.byteStream()) } diff --git a/src/id/mangkomik/src/eu/kanade/tachiyomi/extension/id/mangkomik/SirenKomikDto.kt b/src/id/mangkomik/src/eu/kanade/tachiyomi/extension/id/mangkomik/SirenKomikDto.kt index 74056e1b5..2320a4e01 100644 --- a/src/id/mangkomik/src/eu/kanade/tachiyomi/extension/id/mangkomik/SirenKomikDto.kt +++ b/src/id/mangkomik/src/eu/kanade/tachiyomi/extension/id/mangkomik/SirenKomikDto.kt @@ -4,15 +4,19 @@ import kotlinx.serialization.Serializable @Serializable data class SirenKomikDto( - val `data`: Data, + val `data`: DataWrapper, ) { - val pages get() = data.sources.firstOrNull()?.images ?: emptyList() + val pages get() = data.data.sources.firstOrNull()?.images ?: emptyList() } @Serializable class Source( val images: List, - val source: String, +) + +@Serializable +class DataWrapper( + val `data`: Data, ) @Serializable