mirror of
https://github.com/Sonarr/Sonarr.git
synced 2024-12-14 11:23:42 +02: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
@ -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 @@ public virtual IndexerPageableRequestChain GetSearchRequests(SingleEpisodeSearch
|
||||
|
||||
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 @@ private List<ReleaseResource> GetReleases()
|
||||
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 @@ private List<ReleaseResource> GetEpisodeReleases(int episodeId)
|
||||
}
|
||||
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 New Issue
Block a user