Fixed: QueueSpecification failing when an unknown item is in the queue

pull/2900/head
Mark McDowall 6 years ago
parent 4bc0ffa74d
commit ae2efbc116

@ -31,8 +31,11 @@ namespace NzbDrone.Core.DecisionEngine.Specifications
public Decision IsSatisfiedBy(RemoteEpisode subject, SearchCriteriaBase searchCriteria) public Decision IsSatisfiedBy(RemoteEpisode subject, SearchCriteriaBase searchCriteria)
{ {
var queue = _queueService.GetQueue(); var queue = _queueService.GetQueue();
var matchingSeries = queue.Where(q => q.RemoteEpisode.Series != null && q.RemoteEpisode.Series.Id == subject.Series.Id); var matchingEpisode = queue.Where(q => q.RemoteEpisode != null &&
var matchingEpisode = matchingSeries.Where(q => q.RemoteEpisode.Episodes.Select(e => e.Id).Intersect(subject.Episodes.Select(e => e.Id)).Any()); q.RemoteEpisode.Series != null &&
q.RemoteEpisode.Series.Id == subject.Series.Id &&
q.RemoteEpisode.Episodes.Select(e => e.Id).Intersect(subject.Episodes.Select(e => e.Id)).Any())
.ToList();
foreach (var queueItem in matchingEpisode) foreach (var queueItem in matchingEpisode)
{ {

@ -16,6 +16,11 @@ namespace NzbDrone.Core.Parser.Model
public TorrentSeedConfiguration SeedConfiguration { get; set; } public TorrentSeedConfiguration SeedConfiguration { get; set; }
public int PreferredWordScore { get; set; } public int PreferredWordScore { get; set; }
public RemoteEpisode()
{
Episodes = new List<Episode>();
}
public bool IsRecentEpisode() public bool IsRecentEpisode()
{ {
return Episodes.Any(e => e.AirDateUtc >= DateTime.UtcNow.Date.AddDays(-14)); return Episodes.Any(e => e.AirDateUtc >= DateTime.UtcNow.Date.AddDays(-14));

Loading…
Cancel
Save