diff --git a/src/pt/spectralscan/build.gradle b/src/pt/spectralscan/build.gradle index a365f7868..97cb15387 100644 --- a/src/pt/spectralscan/build.gradle +++ b/src/pt/spectralscan/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Spectral Scan' extClass = '.SpectralScan' - extVersionCode = 46 + extVersionCode = 47 isNsfw = false } diff --git a/src/pt/spectralscan/src/eu/kanade/tachiyomi/extension/pt/spectralscan/SpectralScan.kt b/src/pt/spectralscan/src/eu/kanade/tachiyomi/extension/pt/spectralscan/SpectralScan.kt index 3b8c05b9b..cd402d3f6 100644 --- a/src/pt/spectralscan/src/eu/kanade/tachiyomi/extension/pt/spectralscan/SpectralScan.kt +++ b/src/pt/spectralscan/src/eu/kanade/tachiyomi/extension/pt/spectralscan/SpectralScan.kt @@ -42,6 +42,12 @@ class SpectralScan : ParsedHttpSource() { if (url.fragment.isNullOrBlank().not() && url.fragment!!.contains("page")) { val dto = response.parseAs() + + if (dto.isBase64().not()) { + response.close() + return@addInterceptor chain.proceed(GET(dto.url, headers)) + } + val byteString = dto.base64.decodeBase64()!! return@addInterceptor response.newBuilder() .body(byteString.toResponseBody(dto.mimeType.toMediaType())) @@ -125,7 +131,7 @@ class SpectralScan : ParsedHttpSource() { // ==================== Page ========================== override fun pageListParse(document: Document): List { - return document.select(".manga-page-container canvas").mapIndexed { index, element -> + return document.select(".manga-page-container").mapIndexed { index, element -> Page(index, imageUrl = "${element.absUrl("data-api-src")}#page") } } diff --git a/src/pt/spectralscan/src/eu/kanade/tachiyomi/extension/pt/spectralscan/SpectralScanDto.kt b/src/pt/spectralscan/src/eu/kanade/tachiyomi/extension/pt/spectralscan/SpectralScanDto.kt index 411986617..61e5292f4 100644 --- a/src/pt/spectralscan/src/eu/kanade/tachiyomi/extension/pt/spectralscan/SpectralScanDto.kt +++ b/src/pt/spectralscan/src/eu/kanade/tachiyomi/extension/pt/spectralscan/SpectralScanDto.kt @@ -12,10 +12,14 @@ class SelectFilter(displayName: String = "", val parameter: String = "", private @Serializable class ImageSrc( @SerialName("image_data") - val base64: String, + val base64: String = "", @SerialName("mime_type") - val mimeType: String, -) + val mimeType: String = "", + @SerialName("image_url") + val url: String = "", +) { + fun isBase64() = base64.isNotBlank() +} val sortList = arrayOf( "Mais Recentes" to "latest",