Fixed: Scene numbered season searches when some episode weren't monitored

This commit is contained in:
Mark McDowall
2015-03-24 17:11:46 -07:00
parent a1a91878ad
commit 210524b51a
5 changed files with 31 additions and 1 deletions
@@ -17,6 +17,7 @@ namespace NzbDrone.Core.IndexerSearch.Definitions
public Series Series { get; set; }
public List<String> SceneTitles { get; set; }
public List<Episode> Episodes { get; set; }
public virtual bool MonitoredEpisodesOnly { get; set; }
public List<String> QueryTitles
{
@@ -4,6 +4,14 @@ namespace NzbDrone.Core.IndexerSearch.Definitions
{
public int SeasonNumber { get; set; }
public override bool MonitoredEpisodesOnly
{
get
{
return true;
}
}
public override string ToString()
{
return string.Format("[{0} : S{1:00}]", Series.Title, SeasonNumber);
@@ -115,11 +115,18 @@ namespace NzbDrone.Core.IndexerSearch
{
var episode = sceneSeasonEpisodes.First();
var searchSpec = Get<SingleEpisodeSearchCriteria>(series, sceneSeasonEpisodes.ToList());
searchSpec.SeasonNumber = sceneSeasonEpisodes.Key;
searchSpec.MonitoredEpisodesOnly = true;
if (episode.SceneSeasonNumber.HasValue && episode.SceneEpisodeNumber.HasValue)
{
searchSpec.EpisodeNumber = episode.SceneEpisodeNumber.Value;
}
else
{
searchSpec.EpisodeNumber = episode.EpisodeNumber;
}
var decisions = Dispatch(indexer => indexer.Fetch(searchSpec), searchSpec);
downloadDecisions.AddRange(decisions);