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'
pkgNameSuffix = 'all.kamyroll'
extClass = '.Consumyroll'
extVersionCode = 10
extVersionCode = 11
libVersion = '13'
}

View File

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

View File

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