fix xmltv crash with missing episode metadata
This commit is contained in:
@@ -9,17 +9,17 @@ namespace ErsatzTV.Application.Television
|
|||||||
internal static TelevisionShowViewModel ProjectToViewModel(Show show) =>
|
internal static TelevisionShowViewModel ProjectToViewModel(Show show) =>
|
||||||
new(
|
new(
|
||||||
show.Id,
|
show.Id,
|
||||||
show.ShowMetadata.HeadOrNone().Map(m => m.Title).IfNone(string.Empty),
|
show.ShowMetadata.HeadOrNone().Map(m => m.Title ?? string.Empty).IfNone(string.Empty),
|
||||||
show.ShowMetadata.HeadOrNone().Map(m => m.Year?.ToString()).IfNone(string.Empty),
|
show.ShowMetadata.HeadOrNone().Map(m => m.Year?.ToString() ?? string.Empty).IfNone(string.Empty),
|
||||||
show.ShowMetadata.HeadOrNone().Map(m => m.Plot).IfNone(string.Empty),
|
show.ShowMetadata.HeadOrNone().Map(m => m.Plot ?? string.Empty).IfNone(string.Empty),
|
||||||
show.ShowMetadata.HeadOrNone().Map(GetPoster).IfNone(string.Empty));
|
show.ShowMetadata.HeadOrNone().Map(GetPoster).IfNone(string.Empty));
|
||||||
|
|
||||||
internal static TelevisionSeasonViewModel ProjectToViewModel(Season season) =>
|
internal static TelevisionSeasonViewModel ProjectToViewModel(Season season) =>
|
||||||
new(
|
new(
|
||||||
season.Id,
|
season.Id,
|
||||||
season.ShowId,
|
season.ShowId,
|
||||||
season.Show.ShowMetadata.HeadOrNone().Map(m => m.Title).IfNone(string.Empty),
|
season.Show.ShowMetadata.HeadOrNone().Map(m => m.Title ?? string.Empty).IfNone(string.Empty),
|
||||||
season.Show.ShowMetadata.HeadOrNone().Map(m => m.Year?.ToString()).IfNone(string.Empty),
|
season.Show.ShowMetadata.HeadOrNone().Map(m => m.Year?.ToString() ?? string.Empty).IfNone(string.Empty),
|
||||||
season.SeasonNumber == 0 ? "Specials" : $"Season {season.SeasonNumber}",
|
season.SeasonNumber == 0 ? "Specials" : $"Season {season.SeasonNumber}",
|
||||||
season.SeasonMetadata.HeadOrNone().Map(GetPoster).IfNone(string.Empty));
|
season.SeasonMetadata.HeadOrNone().Map(GetPoster).IfNone(string.Empty));
|
||||||
|
|
||||||
@@ -28,8 +28,8 @@ namespace ErsatzTV.Application.Television
|
|||||||
episode.Season.ShowId,
|
episode.Season.ShowId,
|
||||||
episode.SeasonId,
|
episode.SeasonId,
|
||||||
episode.EpisodeNumber,
|
episode.EpisodeNumber,
|
||||||
episode.EpisodeMetadata.HeadOrNone().Map(m => m.Title).IfNone(string.Empty),
|
episode.EpisodeMetadata.HeadOrNone().Map(m => m.Title ?? string.Empty).IfNone(string.Empty),
|
||||||
episode.EpisodeMetadata.HeadOrNone().Map(m => m.Plot).IfNone(string.Empty),
|
episode.EpisodeMetadata.HeadOrNone().Map(m => m.Plot ?? string.Empty).IfNone(string.Empty),
|
||||||
episode.EpisodeMetadata.HeadOrNone().Map(GetThumbnail).IfNone(string.Empty));
|
episode.EpisodeMetadata.HeadOrNone().Map(GetThumbnail).IfNone(string.Empty));
|
||||||
|
|
||||||
private static string GetPoster(Metadata metadata) =>
|
private static string GetPoster(Metadata metadata) =>
|
||||||
|
|||||||
@@ -62,15 +62,15 @@ namespace ErsatzTV.Core.Iptv
|
|||||||
|
|
||||||
string title = playoutItem.MediaItem switch
|
string title = playoutItem.MediaItem switch
|
||||||
{
|
{
|
||||||
Movie m => m.MovieMetadata.HeadOrNone().Map(mm => mm.Title).IfNone("[unknown movie]"),
|
Movie m => m.MovieMetadata.HeadOrNone().Map(mm => mm.Title ?? string.Empty).IfNone("[unknown movie]"),
|
||||||
Episode e => e.EpisodeMetadata.HeadOrNone().Map(em => em.Title).IfNone("[unknown episode]"),
|
Episode e => e.EpisodeMetadata.HeadOrNone().Map(em => em.Title ?? string.Empty).IfNone("[unknown episode]"),
|
||||||
_ => "[unknown]"
|
_ => "[unknown]"
|
||||||
};
|
};
|
||||||
|
|
||||||
string description = playoutItem.MediaItem switch
|
string description = playoutItem.MediaItem switch
|
||||||
{
|
{
|
||||||
Movie m => m.MovieMetadata.HeadOrNone().Map(mm => mm.Plot).IfNone(string.Empty),
|
Movie m => m.MovieMetadata.HeadOrNone().Map(mm => mm.Plot ?? string.Empty).IfNone(string.Empty),
|
||||||
Episode e => e.EpisodeMetadata.HeadOrNone().Map(em => em.Plot).IfNone(string.Empty),
|
Episode e => e.EpisodeMetadata.HeadOrNone().Map(em => em.Plot ?? string.Empty).IfNone(string.Empty),
|
||||||
_ => string.Empty
|
_ => string.Empty
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user