From 4f7695556346e3d980bba7f7de8fe306084436e2 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 23 Aug 2017 12:45:04 -0400 Subject: [PATCH] fix MissingEpisodeProvider repeatedly adding and removing unaired items --- MediaBrowser.Providers/TV/MissingEpisodeProvider.cs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs b/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs index 45e10a76e4..cfe20c741f 100644 --- a/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs +++ b/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs @@ -191,6 +191,8 @@ namespace MediaBrowser.Providers.TV }); } + private const double UnairedEpisodeThresholdDays = 2; + /// /// Adds the missing episodes. /// @@ -248,8 +250,7 @@ namespace MediaBrowser.Providers.TV var targetSeries = DetermineAppropriateSeries(series, tuple.Item1); - var unairedThresholdDays = 2; - now = now.AddDays(0 - unairedThresholdDays); + now = now.AddDays(0 - UnairedEpisodeThresholdDays); if (airDate.Value < now) { @@ -329,9 +330,13 @@ namespace MediaBrowser.Providers.TV return true; } - if (!allowMissingEpisodes && i.Episode.IsMissingEpisode && !i.Episode.IsUnaired) + if (!allowMissingEpisodes && i.Episode.IsMissingEpisode) { - return true; + // If it's missing, but not unaired, remove it + if (!i.Episode.PremiereDate.HasValue || i.Episode.PremiereDate.Value.ToLocalTime().Date.AddDays(UnairedEpisodeThresholdDays) < DateTime.Now.Date) + { + return true; + } } return false;