From e143b18df3baf9da5148e36931b88532f06841ae Mon Sep 17 00:00:00 2001 From: Taloth Saldono Date: Mon, 23 Feb 2015 20:15:17 +0100 Subject: [PATCH] Fixed: Episode/Season searches on BTN are now performed by tvdb numbering instead of scene numbering. (let us know if you run into problems with series with scene numbering) --- .../BroadcastheNetRequestGenerator.cs | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/src/NzbDrone.Core/Indexers/BroadcastheNet/BroadcastheNetRequestGenerator.cs b/src/NzbDrone.Core/Indexers/BroadcastheNet/BroadcastheNetRequestGenerator.cs index 94e331cbb..bec77ef84 100644 --- a/src/NzbDrone.Core/Indexers/BroadcastheNet/BroadcastheNetRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/BroadcastheNet/BroadcastheNetRequestGenerator.cs @@ -34,10 +34,15 @@ namespace NzbDrone.Core.Indexers.BroadcastheNet var parameters = new BroadcastheNetTorrentQuery(); if (AddSeriesSearchParameters(parameters, searchCriteria)) { - parameters.Category = "Episode"; - parameters.Name = String.Format("S{0:00}E{1:00}", searchCriteria.SeasonNumber, searchCriteria.EpisodeNumber); + foreach (var episode in searchCriteria.Episodes) + { + parameters = parameters.Clone(); - pageableRequest.AddIfNotNull(GetPagedRequests(MaxPages, parameters)); + parameters.Category = "Episode"; + parameters.Name = String.Format("S{0:00}E{1:00}", episode.SeasonNumber, episode.EpisodeNumber); + + pageableRequest.AddIfNotNull(GetPagedRequests(MaxPages, parameters)); + } } return pageableRequest; @@ -50,17 +55,20 @@ namespace NzbDrone.Core.Indexers.BroadcastheNet var parameters = new BroadcastheNetTorrentQuery(); if (AddSeriesSearchParameters(parameters, searchCriteria)) { - parameters.Category = "Episode"; - parameters.Name = String.Format("S{0:00}E%", searchCriteria.SeasonNumber); + foreach (var seasonNumber in searchCriteria.Episodes.Select(v => v.SeasonNumber).Distinct()) + { + parameters.Category = "Episode"; + parameters.Name = String.Format("S{0:00}E%", seasonNumber); - pageableRequest.AddIfNotNull(GetPagedRequests(MaxPages, parameters)); + pageableRequest.AddIfNotNull(GetPagedRequests(MaxPages, parameters)); - parameters = parameters.Clone(); + parameters = parameters.Clone(); - parameters.Category = "Season"; - parameters.Name = String.Format("Season {0}", searchCriteria.SeasonNumber); + parameters.Category = "Season"; + parameters.Name = String.Format("Season {0}", seasonNumber); - pageableRequest.AddIfNotNull(GetPagedRequests(MaxPages, parameters)); + pageableRequest.AddIfNotNull(GetPagedRequests(MaxPages, parameters)); + } }