Cứu Truyện: Allow to choose cover quality in source setting

master
dragonx943 7 months ago
parent f66b97edc1
commit d4e1acd515
No known key found for this signature in database
GPG Key ID: 48DD99A2C5421C1C

@ -36,8 +36,17 @@ internal class CuuTruyenParser(context: MangaLoaderContext) :
"cuutruyen5c844.site", "cuutruyen5c844.site",
) )
private val preferredServerKey = ConfigKey.PreferredImageServer(
presetValues = mapOf(
DESKTOP_COVER to "Ảnh bìa chất lượng cao (Desktop)",
MOBILE_COVER to "Ảnh bìa chất lượng thấp (Mobile)",
),
defaultValue = DESKTOP_COVER,
)
override fun onCreateConfig(keys: MutableCollection<ConfigKey<*>>) { override fun onCreateConfig(keys: MutableCollection<ConfigKey<*>>) {
super.onCreateConfig(keys) super.onCreateConfig(keys)
keys.add(preferredServerKey)
keys.remove(userAgentKey) keys.remove(userAgentKey)
} }
@ -139,14 +148,16 @@ internal class CuuTruyenParser(context: MangaLoaderContext) :
return data.mapJSON { jo -> return data.mapJSON { jo ->
val author = jo.getStringOrNull("author_name") val author = jo.getStringOrNull("author_name")
val server = config[preferredServerKey] ?: DESKTOP_COVER
Manga( Manga(
id = generateUid(jo.getLong("id")), id = generateUid(jo.getLong("id")),
url = "$apiSuffix/mangas/${jo.getLong("id")}", url = "$apiSuffix/mangas/${jo.getLong("id")}",
publicUrl = "https://truycapcuutruyen.pages.dev/mangas/${jo.getLong("id")}", publicUrl = "https://truycapcuutruyen.pages.dev/mangas/${jo.getLong("id")}",
title = jo.getString("name"), title = jo.getString("name"),
altTitles = emptySet(), altTitles = emptySet(),
coverUrl = jo.getString("cover_mobile_url"), coverUrl = if (server == MOBILE_COVER) jo.getString(MOBILE_COVER)
largeCoverUrl = jo.getString("cover_url"), else jo.getString(DESKTOP_COVER),
largeCoverUrl = jo.getString(DESKTOP_COVER),
authors = setOfNotNull(author), authors = setOfNotNull(author),
tags = emptySet(), tags = emptySet(),
state = null, state = null,
@ -426,5 +437,7 @@ internal class CuuTruyenParser(context: MangaLoaderContext) :
private companion object { private companion object {
const val DRM_DATA_KEY = "drm_data=" const val DRM_DATA_KEY = "drm_data="
const val DECRYPTION_KEY = "3141592653589793" const val DECRYPTION_KEY = "3141592653589793"
const val MOBILE_COVER = "cover_mobile_url"
const val DESKTOP_COVER = "cover_url"
} }
} }

Loading…
Cancel
Save