Fixed: Processing updated episodes in series after refresh

Closes #6560
pull/6562/head
Mark McDowall 3 months ago committed by Mark McDowall
parent fa600e62e0
commit 16d3827dbd

@ -55,6 +55,8 @@ namespace NzbDrone.Core.Tv
{
if (message.Series.AddOptions == null)
{
var toSearch = new List<int>();
if (!message.Series.Monitored)
{
_logger.Debug("Series is not monitored");
@ -65,19 +67,22 @@ namespace NzbDrone.Core.Tv
a.AirDateUtc.HasValue &&
a.AirDateUtc.Value.Between(DateTime.UtcNow.AddDays(-14), DateTime.UtcNow.AddDays(1)) &&
a.Monitored)
.Select(e => e.Id)
.ToList();
if (previouslyAired.Empty())
{
_logger.Debug("Newly added episodes all air in the future");
_searchCache.Set(message.Series.Id.ToString(), previouslyAired.Select(e => e.Id).ToList());
}
toSearch.AddRange(previouslyAired);
var absoluteEpisodeNumberAdded = message.Updated.Where(a =>
a.AbsoluteEpisodeNumberAdded &&
a.AirDateUtc.HasValue &&
a.AirDateUtc.Value.Between(DateTime.UtcNow.AddDays(-14), DateTime.UtcNow.AddDays(1)) &&
a.Monitored)
.Select(e => e.Id)
.ToList();
if (absoluteEpisodeNumberAdded.Empty())
@ -85,10 +90,7 @@ namespace NzbDrone.Core.Tv
_logger.Debug("No updated episodes recently aired and had absolute episode number added");
}
var toSearch = new List<int>();
toSearch.AddRange(previouslyAired.Select(e => e.Id));
toSearch.AddRange(absoluteEpisodeNumberAdded.Select(e => e.Id));
toSearch.AddRange(absoluteEpisodeNumberAdded);
if (toSearch.Any())
{

@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using NzbDrone.Common.Messaging;
@ -15,6 +15,7 @@ namespace NzbDrone.Core.Tv.Events
{
Series = series;
Added = new ReadOnlyCollection<Episode>(added);
Updated = new ReadOnlyCollection<Episode>(updated);
Removed = new ReadOnlyCollection<Episode>(removed);
}
}

Loading…
Cancel
Save