SaikaiScan: Update domain (#9807)

* Update domain

* Remove const
This commit is contained in:
Chopper 2025-07-28 07:41:35 -03:00 committed by Draff
parent 9755776353
commit 9183d5e2d0
Signed by: Draff
GPG Key ID: E8A89F3211677653
3 changed files with 19 additions and 20 deletions

View File

@ -1,7 +1,7 @@
ext {
extName = 'Saikai Scan'
extClass = '.SaikaiScan'
extVersionCode = 11
extVersionCode = 12
}
apply from: "$rootDir/common.gradle"

View File

@ -22,15 +22,19 @@ class SaikaiScan : HttpSource() {
override val name = SOURCE_NAME
override val baseUrl = "https://saikaiscans.net"
override val baseUrl = "https://housesaikai.net"
private val apiUrl = "https://api.${baseUrl.substringAfterLast("/")}"
private val storageUrl = "https://s3-beta.${baseUrl.substringAfterLast("/")}"
override val lang = "pt-BR"
override val supportsLatest = true
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
.rateLimitHost(API_URL.toHttpUrl(), 1, 2)
.rateLimitHost(IMAGE_SERVER_URL.toHttpUrl(), 1, 1)
.rateLimitHost(apiUrl.toHttpUrl(), 1, 2)
.rateLimitHost(storageUrl.toHttpUrl(), 1, 1)
.build()
private val json: Json by injectLazy()
@ -44,7 +48,7 @@ class SaikaiScan : HttpSource() {
.add("Accept", ACCEPT_JSON)
.build()
val apiEndpointUrl = "$API_URL/api/stories".toHttpUrl().newBuilder()
val apiEndpointUrl = "$apiUrl/api/stories".toHttpUrl().newBuilder()
.addQueryParameter("format", COMIC_FORMAT_ID)
.addQueryParameter("sortProperty", "pageviews")
.addQueryParameter("sortDirection", "desc")
@ -59,7 +63,7 @@ class SaikaiScan : HttpSource() {
override fun popularMangaParse(response: Response): MangasPage {
val result = response.parseAs<SaikaiScanPaginatedStoriesDto>()
val mangaList = result.data!!.map(SaikaiScanStoryDto::toSManga)
val mangaList = result.data!!.map { it.toSManga(storageUrl) }
return MangasPage(mangaList, result.hasNextPage)
}
@ -69,7 +73,7 @@ class SaikaiScan : HttpSource() {
.add("Accept", ACCEPT_JSON)
.build()
val apiEndpointUrl = "$API_URL/api/lancamentos".toHttpUrl().newBuilder()
val apiEndpointUrl = "$apiUrl/api/lancamentos".toHttpUrl().newBuilder()
.addQueryParameter("format", COMIC_FORMAT_ID)
.addQueryParameter("page", page.toString())
.addQueryParameter("per_page", PER_PAGE)
@ -86,7 +90,7 @@ class SaikaiScan : HttpSource() {
.add("Accept", ACCEPT_JSON)
.build()
val apiEndpointUrl = "$API_URL/api/stories".toHttpUrl().newBuilder()
val apiEndpointUrl = "$apiUrl/api/stories".toHttpUrl().newBuilder()
.addQueryParameter("format", COMIC_FORMAT_ID)
.addQueryParameter("q", query)
.addQueryParameter("sortProperty", "pageViews")
@ -112,7 +116,7 @@ class SaikaiScan : HttpSource() {
.add("Accept", ACCEPT_JSON)
.build()
val apiEndpointUrl = "$API_URL/api/stories".toHttpUrl().newBuilder()
val apiEndpointUrl = "$apiUrl/api/stories".toHttpUrl().newBuilder()
.addQueryParameter("format", COMIC_FORMAT_ID)
.addQueryParameter("slug", storySlug)
.addQueryParameter("per_page", "1")
@ -125,7 +129,7 @@ class SaikaiScan : HttpSource() {
override fun mangaDetailsParse(response: Response): SManga {
val result = response.parseAs<SaikaiScanPaginatedStoriesDto>()
return result.data!![0].toSManga()
return result.data!![0].toSManga(storageUrl)
}
override fun chapterListRequest(manga: SManga): Request {
@ -135,7 +139,7 @@ class SaikaiScan : HttpSource() {
.add("Accept", ACCEPT_JSON)
.build()
val apiEndpointUrl = "$API_URL/api/stories".toHttpUrl().newBuilder()
val apiEndpointUrl = "$apiUrl/api/stories".toHttpUrl().newBuilder()
.addQueryParameter("format", COMIC_FORMAT_ID)
.addQueryParameter("slug", storySlug)
.addQueryParameter("per_page", "1")
@ -166,7 +170,7 @@ class SaikaiScan : HttpSource() {
.add("Accept", ACCEPT_JSON)
.build()
val apiEndpointUrl = "$API_URL/api/releases/$releaseId".toHttpUrl().newBuilder()
val apiEndpointUrl = "$apiUrl/api/releases/$releaseId".toHttpUrl().newBuilder()
.addQueryParameter("relationships", "releaseImages")
.build()
@ -177,7 +181,7 @@ class SaikaiScan : HttpSource() {
val result = response.parseAs<SaikaiScanReleaseResultDto>()
return result.data?.releaseImages.orEmpty().mapIndexed { i, obj ->
Page(i, "", "$IMAGE_SERVER_URL/${obj.image}")
Page(i, "", "$storageUrl/${obj.image}")
}
}
@ -287,14 +291,9 @@ class SaikaiScan : HttpSource() {
companion object {
const val SOURCE_NAME = "Saikai Scan"
private const val ACCEPT_IMAGE = "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8"
private const val ACCEPT_JSON = "application/json, text/plain, */*"
private const val COMIC_FORMAT_ID = "2"
private const val PER_PAGE = "12"
private const val API_URL = "https://api.saikaiscans.net"
const val IMAGE_SERVER_URL = "https://s3-alpha.saikaiscans.net"
}
}

View File

@ -40,7 +40,7 @@ data class SaikaiScanStoryDto(
val title: String,
) {
fun toSManga(): SManga = SManga.create().apply {
fun toSManga(storageUrl: String): SManga = SManga.create().apply {
title = this@SaikaiScanStoryDto.title
author = authors.joinToString { it.name }
artist = artists.joinToString { it.name }
@ -53,7 +53,7 @@ data class SaikaiScanStoryDto(
description = Jsoup.parseBodyFragment(synopsis)
.select("p")
.joinToString("\n\n") { it.text() }
thumbnail_url = "${SaikaiScan.IMAGE_SERVER_URL}/$image"
thumbnail_url = "$storageUrl/$image"
url = "/comics/$slug"
}
}