Browse Source

load fallback metadata when nfo fails; don't require metadata in ui

pull/26/head
Jason Dove 6 years ago
parent
commit
e900d3f013
  1. 18
      ErsatzTV.Application/MediaCards/Mapper.cs
  2. 12
      ErsatzTV.Core/Metadata/LocalMetadataProvider.cs

18
ErsatzTV.Application/MediaCards/Mapper.cs

@ -9,14 +9,14 @@ namespace ErsatzTV.Application.MediaCards @@ -9,14 +9,14 @@ namespace ErsatzTV.Application.MediaCards
internal static TelevisionShowCardViewModel ProjectToViewModel(TelevisionShow televisionShow) =>
new(
televisionShow.Id,
televisionShow.Metadata.Title,
televisionShow.Metadata.Year.ToString(),
televisionShow.Metadata.SortTitle,
televisionShow.Metadata?.Title,
televisionShow.Metadata?.Year.ToString(),
televisionShow.Metadata?.SortTitle,
televisionShow.Poster);
internal static TelevisionSeasonCardViewModel ProjectToViewModel(TelevisionSeason televisionSeason) =>
new(
televisionSeason.TelevisionShow.Metadata.Title,
televisionSeason.TelevisionShow.Metadata?.Title,
televisionSeason.Id,
televisionSeason.Number,
GetSeasonName(televisionSeason.Number),
@ -29,13 +29,13 @@ namespace ErsatzTV.Application.MediaCards @@ -29,13 +29,13 @@ namespace ErsatzTV.Application.MediaCards
TelevisionEpisodeMediaItem televisionEpisode) =>
new(
televisionEpisode.Id,
televisionEpisode.Metadata.Aired ?? DateTime.MinValue,
televisionEpisode.Metadata?.Aired ?? DateTime.MinValue,
televisionEpisode.Season.TelevisionShow.Metadata.Title,
televisionEpisode.Metadata.Title,
$"Episode {televisionEpisode.Metadata.Episode}",
televisionEpisode.Metadata.Episode.ToString(),
televisionEpisode.Metadata?.Title,
$"Episode {televisionEpisode.Metadata?.Episode}",
televisionEpisode.Metadata?.Episode.ToString(),
televisionEpisode.Poster,
televisionEpisode.Metadata.Episode.ToString());
televisionEpisode.Metadata?.Episode.ToString());
internal static MovieCardViewModel ProjectToViewModel(MovieMediaItem movie) =>
new(

12
ErsatzTV.Core/Metadata/LocalMetadataProvider.cs

@ -138,7 +138,7 @@ namespace ErsatzTV.Core.Metadata @@ -138,7 +138,7 @@ namespace ErsatzTV.Core.Metadata
return None;
}
return await LoadMovieMetadata(nfoFileName);
return await LoadMovieMetadata(mediaItem, nfoFileName);
}
private async Task<Option<TelevisionEpisodeMetadata>> LoadMetadata(
@ -157,7 +157,7 @@ namespace ErsatzTV.Core.Metadata @@ -157,7 +157,7 @@ namespace ErsatzTV.Core.Metadata
return None;
}
return await LoadEpisodeMetadata(nfoFileName);
return await LoadEpisodeMetadata(mediaItem, nfoFileName);
}
private async Task<Option<TelevisionShowMetadata>> LoadMetadata(
@ -197,7 +197,7 @@ namespace ErsatzTV.Core.Metadata @@ -197,7 +197,7 @@ namespace ErsatzTV.Core.Metadata
}
}
private async Task<Option<TelevisionEpisodeMetadata>> LoadEpisodeMetadata(string nfoFileName)
private async Task<Option<TelevisionEpisodeMetadata>> LoadEpisodeMetadata(TelevisionEpisodeMediaItem mediaItem, string nfoFileName)
{
try
{
@ -219,11 +219,11 @@ namespace ErsatzTV.Core.Metadata @@ -219,11 +219,11 @@ namespace ErsatzTV.Core.Metadata
catch (Exception ex)
{
_logger.LogDebug(ex, "Failed to read TV episode nfo metadata from {Path}", nfoFileName);
return None;
return FallbackMetadataProvider.GetFallbackMetadata(mediaItem);
}
}
private async Task<Option<MovieMetadata>> LoadMovieMetadata(string nfoFileName)
private async Task<Option<MovieMetadata>> LoadMovieMetadata(MovieMediaItem mediaItem, string nfoFileName)
{
try
{
@ -247,7 +247,7 @@ namespace ErsatzTV.Core.Metadata @@ -247,7 +247,7 @@ namespace ErsatzTV.Core.Metadata
catch (Exception ex)
{
_logger.LogDebug(ex, "Failed to read Movie nfo metadata from {Path}", nfoFileName);
return None;
return FallbackMetadataProvider.GetFallbackMetadata(mediaItem);
}
}

Loading…
Cancel
Save