From 8b1f8dd36be694ca907ceb030c0c452745d8664e Mon Sep 17 00:00:00 2001 From: Jason Dove Date: Sun, 14 Mar 2021 17:32:49 +0000 Subject: [PATCH] support plex media with missing release date (#76) --- .../Plex/PlexServerApiClient.cs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/ErsatzTV.Infrastructure/Plex/PlexServerApiClient.cs b/ErsatzTV.Infrastructure/Plex/PlexServerApiClient.cs index 53d6ca2a6..33964d2b9 100644 --- a/ErsatzTV.Infrastructure/Plex/PlexServerApiClient.cs +++ b/ErsatzTV.Infrastructure/Plex/PlexServerApiClient.cs @@ -172,7 +172,6 @@ namespace ErsatzTV.Infrastructure.Plex Title = response.Title, SortTitle = _fallbackMetadataProvider.GetSortTitle(response.Title), Plot = response.Summary, - ReleaseDate = DateTime.Parse(response.OriginallyAvailableAt), Year = response.Year, Tagline = response.Tagline, DateAdded = dateAdded, @@ -180,6 +179,11 @@ namespace ErsatzTV.Infrastructure.Plex Genres = Optional(response.Genre).Flatten().Map(g => new Genre { Name = g.Tag }).ToList() }; + if (DateTime.TryParse(response.OriginallyAvailableAt, out DateTime releaseDate)) + { + metadata.ReleaseDate = releaseDate; + } + if (!string.IsNullOrWhiteSpace(response.Thumb)) { var path = $"plex/{mediaSourceId}{response.Thumb}"; @@ -269,7 +273,6 @@ namespace ErsatzTV.Infrastructure.Plex Title = response.Title, SortTitle = _fallbackMetadataProvider.GetSortTitle(response.Title), Plot = response.Summary, - ReleaseDate = DateTime.Parse(response.OriginallyAvailableAt), Year = response.Year, Tagline = response.Tagline, DateAdded = dateAdded, @@ -277,6 +280,11 @@ namespace ErsatzTV.Infrastructure.Plex Genres = Optional(response.Genre).Flatten().Map(g => new Genre { Name = g.Tag }).ToList() }; + if (DateTime.TryParse(response.OriginallyAvailableAt, out DateTime releaseDate)) + { + metadata.ReleaseDate = releaseDate; + } + if (!string.IsNullOrWhiteSpace(response.Thumb)) { var path = $"plex/{mediaSourceId}{response.Thumb}"; @@ -388,9 +396,9 @@ namespace ErsatzTV.Infrastructure.Plex DateUpdated = lastWriteTime }; - if (!string.IsNullOrWhiteSpace(response.OriginallyAvailableAt)) + if (DateTime.TryParse(response.OriginallyAvailableAt, out DateTime releaseDate)) { - metadata.ReleaseDate = DateTime.Parse(response.OriginallyAvailableAt); + metadata.ReleaseDate = releaseDate; } if (!string.IsNullOrWhiteSpace(response.Thumb))