|
|
|
@ -10,7 +10,6 @@ using NzbDrone.Core.DecisionEngine;
|
|
|
|
|
using NzbDrone.Core.Download.Aggregation;
|
|
|
|
|
using NzbDrone.Core.Indexers;
|
|
|
|
|
using NzbDrone.Core.Jobs;
|
|
|
|
|
using NzbDrone.Core.Languages;
|
|
|
|
|
using NzbDrone.Core.Messaging.Events;
|
|
|
|
|
using NzbDrone.Core.Parser;
|
|
|
|
|
using NzbDrone.Core.Parser.Model;
|
|
|
|
@ -97,7 +96,7 @@ namespace NzbDrone.Core.Download.Pending
|
|
|
|
|
|
|
|
|
|
var episodeIds = decision.RemoteEpisode.Episodes.Select(e => e.Id);
|
|
|
|
|
|
|
|
|
|
var existingReports = episodeIds.SelectMany(v => alreadyPendingByEpisode[v] ?? Enumerable.Empty<PendingRelease>())
|
|
|
|
|
var existingReports = episodeIds.SelectMany(v => alreadyPendingByEpisode[v])
|
|
|
|
|
.Distinct().ToList();
|
|
|
|
|
|
|
|
|
|
var matchingReports = existingReports.Where(MatchingReleasePredicate(decision.RemoteEpisode.Release)).ToList();
|
|
|
|
@ -243,8 +242,7 @@ namespace NzbDrone.Core.Download.Pending
|
|
|
|
|
|
|
|
|
|
return seriesReleases.Select(r => r.RemoteEpisode)
|
|
|
|
|
.Where(r => r.Episodes.Select(e => e.Id).Intersect(episodeIds).Any())
|
|
|
|
|
.OrderByDescending(p => p.Release.AgeHours)
|
|
|
|
|
.FirstOrDefault();
|
|
|
|
|
.MaxBy(p => p.Release.AgeHours);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private ILookup<int, PendingRelease> CreateEpisodeLookup(IEnumerable<PendingRelease> alreadyPending)
|
|
|
|
|