Cứu Truyện: Allow to choose cover quality in source setting
This commit is contained in:
@@ -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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user