Consumyroll: Add null check (#1256)

* Add null check

* Add null checks
This commit is contained in:
Secozzi
2023-02-09 09:20:55 +01:00
committed by GitHub
parent 11a3bd2115
commit baecfb9577
3 changed files with 16 additions and 8 deletions

View File

@ -6,7 +6,7 @@ ext {
extName = 'Consumyroll' extName = 'Consumyroll'
pkgNameSuffix = 'all.kamyroll' pkgNameSuffix = 'all.kamyroll'
extClass = '.Consumyroll' extClass = '.Consumyroll'
extVersionCode = 10 extVersionCode = 11
libVersion = '13' libVersion = '13'
} }

View File

@ -143,16 +143,22 @@ class Consumyroll : ConfigurableAnimeSource, AnimeHttpSource() {
val episodes = json.decodeFromString<EpisodeResult>(episodeResp.body!!.string()) val episodes = json.decodeFromString<EpisodeResult>(episodeResp.body!!.string())
episodes.data.sortedBy { it.episode_number }.map { ep -> episodes.data.sortedBy { it.episode_number }.map { ep ->
SEpisode.create().apply { SEpisode.create().apply {
url = EpisodeData( url = ep.versions?.let {
ep.versions.map { Pair(it.id, it.audio_locale) } EpisodeData(
it.map { t -> Pair(t.id, t.audio_locale) }
).toJsonString()
} ?: EpisodeData(
listOf(Pair(ep.id, ep.audio_locale))
).toJsonString() ).toJsonString()
name = if (ep.episode_number > 0 || ep.episode.isNumeric()) { name = if (ep.episode_number > 0 || ep.episode.isNumeric()) {
"Season ${seasonData.season_number} Ep ${df.format(ep.episode_number)}: " + ep.title "Season ${seasonData.season_number} Ep ${df.format(ep.episode_number)}: " + ep.title
} else { ep.title } } else { ep.title }
episode_number = ep.episode_number episode_number = ep.episode_number
date_upload = parseDate(ep.airDate) date_upload = ep.airDate?.let { parseDate(it) } ?: 0L
scanlator = ep.versions.sortedBy { it.audio_locale } scanlator = ep.versions?.let { version ->
.joinToString { it.audio_locale.substringBefore("-") } version.sortedBy { it.audio_locale }
.joinToString { it.audio_locale.substringBefore("-") }
} ?: ep.audio_locale
} }
} }
}.getOrNull() }.getOrNull()

View File

@ -112,13 +112,15 @@ data class EpisodeResult(
) { ) {
@Serializable @Serializable
data class Episode( data class Episode(
val id: String,
val audio_locale: String,
val title: String, val title: String,
@SerialName("sequence_number") @SerialName("sequence_number")
val episode_number: Float, val episode_number: Float,
val episode: String, val episode: String,
@SerialName("episode_air_date") @SerialName("episode_air_date")
val airDate: String, val airDate: String? = null,
val versions: ArrayList<Version> val versions: ArrayList<Version>? = null
) { ) {
@Serializable @Serializable
data class Version( data class Version(