mirror of
https://github.com/Sonarr/Sonarr
synced 2024-12-26 17:57:43 +00:00
Interactive Season Search
New: Interactive Season Search Fixed: BTN will no longer include season packs for individual episode searches
This commit is contained in:
parent
36b9c51163
commit
3b042707f5
2 changed files with 24 additions and 15 deletions
|
@ -1,4 +1,4 @@
|
|||
using System.Linq;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using NzbDrone.Common.Http;
|
||||
using NzbDrone.Core.IndexerSearch.Definitions;
|
||||
|
@ -55,19 +55,6 @@ namespace NzbDrone.Core.Indexers.BroadcastheNet
|
|||
|
||||
pageableRequests.Add(GetPagedRequests(MaxPages, parameters));
|
||||
}
|
||||
|
||||
if (searchCriteria.UserInvokedSearch)
|
||||
{
|
||||
foreach (var seasonNumber in searchCriteria.Episodes.Select(v => v.SeasonNumber).Distinct())
|
||||
{
|
||||
parameters = parameters.Clone();
|
||||
|
||||
parameters.Category = "Season";
|
||||
parameters.Name = string.Format("Season {0}%", seasonNumber);
|
||||
|
||||
pageableRequests.Add(GetPagedRequests(MaxPages, parameters));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return pageableRequests;
|
||||
|
|
|
@ -84,6 +84,11 @@ namespace Sonarr.Api.V3.Indexers
|
|||
return GetEpisodeReleases(Request.Query.episodeId);
|
||||
}
|
||||
|
||||
if (Request.Query.seriesId.HasValue && Request.Query.seasonNumber.HasValue)
|
||||
{
|
||||
return GetSeasonReleases(Request.Query.seriesId, Request.Query.seasonNumber);
|
||||
}
|
||||
|
||||
return GetRss();
|
||||
}
|
||||
|
||||
|
@ -98,7 +103,24 @@ namespace Sonarr.Api.V3.Indexers
|
|||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.ErrorException("Episode search failed: " + ex.Message, ex);
|
||||
_logger.Error(ex, "Episode search failed: " + ex.Message);
|
||||
}
|
||||
|
||||
return new List<ReleaseResource>();
|
||||
}
|
||||
|
||||
private List<ReleaseResource> GetSeasonReleases(int seriesId, int seasonNumber)
|
||||
{
|
||||
try
|
||||
{
|
||||
var decisions = _nzbSearchService.SeasonSearch(seriesId, seasonNumber, false, true, true);
|
||||
var prioritizedDecisions = _prioritizeDownloadDecision.PrioritizeDecisions(decisions);
|
||||
|
||||
return MapDecisions(prioritizedDecisions);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.Error(ex, "Season search failed: " + ex.Message);
|
||||
}
|
||||
|
||||
return new List<ReleaseResource>();
|
||||
|
|
Loading…
Reference in a new issue