From 459019803ead6bc7d0b40181d6b0b74dbfe90ab0 Mon Sep 17 00:00:00 2001 From: seew3l <90949336+seew3l@users.noreply.github.com> Date: Wed, 19 Apr 2023 14:20:30 -0500 Subject: [PATCH] HeanCms: Fix incorrect "Latest Manga" and some thumbnails not loading (#16108) * Fixes * Change function name Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com> * Change function name --------- Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com> --- .../eu/kanade/tachiyomi/multisrc/heancms/HeanCms.kt | 4 +++- .../kanade/tachiyomi/multisrc/heancms/HeanCmsDto.kt | 12 ++++++++---- .../tachiyomi/multisrc/heancms/HeanCmsGenerator.kt | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/heancms/HeanCms.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/heancms/HeanCms.kt index 929f27004..63c95d260 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/heancms/HeanCms.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/heancms/HeanCms.kt @@ -57,6 +57,7 @@ abstract class HeanCms( orderBy = "total_views", status = "Ongoing", type = "Comic", + tagIds = emptyList(), ) val payload = json.encodeToString(payloadObj).toRequestBody(JSON_MEDIA_TYPE) @@ -96,6 +97,7 @@ abstract class HeanCms( orderBy = "latest", status = "Ongoing", type = "Comic", + tagIds = emptyList(), ) val payload = json.encodeToString(payloadObj).toRequestBody(JSON_MEDIA_TYPE) @@ -325,8 +327,8 @@ abstract class HeanCms( page = page, order = "desc", orderBy = "total_views", - status = "", type = "Comic", + tagIds = emptyList(), ) val payload = json.encodeToString(payloadObj).toRequestBody(JSON_MEDIA_TYPE) diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/heancms/HeanCmsDto.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/heancms/HeanCmsDto.kt index a05a237d7..25710d186 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/heancms/HeanCmsDto.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/heancms/HeanCmsDto.kt @@ -41,7 +41,7 @@ data class HeanCmsSearchDto( title = this@HeanCmsSearchDto.title thumbnail_url = when { - thumbnailFileName.isNotEmpty() -> "$apiUrl/$coverPath$thumbnailFileName" + thumbnailFileName.isNotEmpty() -> createThumbnailUrl(apiUrl, coverPath, thumbnailFileName) else -> "" } url = "/series/$slugOnly" @@ -75,12 +75,16 @@ data class HeanCmsSeriesDto( genre = tags.orEmpty() .sortedBy(HeanCmsTagDto::name) .joinToString { it.name } - thumbnail_url = "$apiUrl/$coverPath$thumbnail" + thumbnail_url = createThumbnailUrl(apiUrl, coverPath, thumbnail) status = this@HeanCmsSeriesDto.status?.toStatus() ?: SManga.UNKNOWN url = "/series/${slug.replace(HeanCms.TIMESTAMP_REGEX, "")}" } } +private fun createThumbnailUrl(apiUrl: String, coverPath: String, thumbnail: String): String { + return if (thumbnail.startsWith("https://")) thumbnail else "$apiUrl/$coverPath$thumbnail" +} + @Serializable data class HeanCmsTagDto(val name: String) @@ -116,9 +120,9 @@ data class HeanCmsQuerySearchPayloadDto( val order: String, val page: Int, @SerialName("order_by") val orderBy: String, - @SerialName("series_status") val status: String, + @SerialName("series_status") val status: String? = null, @SerialName("series_type") val type: String, - @SerialName("tags_ids") val tagIds: List<Int> = emptyList(), + @SerialName("tags_ids") val tagIds: List<Int>?, ) @Serializable diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/heancms/HeanCmsGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/heancms/HeanCmsGenerator.kt index 9060d84e4..288cc9237 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/heancms/HeanCmsGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/heancms/HeanCmsGenerator.kt @@ -9,7 +9,7 @@ class HeanCmsGenerator : ThemeSourceGenerator { override val themeClass = "HeanCms" - override val baseVersionCode: Int = 10 + override val baseVersionCode: Int = 11 override val sources = listOf( SingleLang("Omega Scans", "https://omegascans.org", "en", isNsfw = true, overrideVersionCode = 16),