diff --git a/frontend/src/Store/Actions/discoverMovieActions.js b/frontend/src/Store/Actions/discoverMovieActions.js index 8b01e3af5..62f3534da 100644 --- a/frontend/src/Store/Actions/discoverMovieActions.js +++ b/frontend/src/Store/Actions/discoverMovieActions.js @@ -600,6 +600,7 @@ export const actionHandlers = handleThunks({ const promise = createAjaxRequest({ url: '/exclusions/bulk', method: 'POST', + contentType: 'application/json', data: JSON.stringify(exclusions) }).request; diff --git a/src/NzbDrone.Core.Test/IndexerSearchTests/SearchDefinitionFixture.cs b/src/NzbDrone.Core.Test/IndexerSearchTests/SearchDefinitionFixture.cs index 4e1f4db6d..6ec88ac3d 100644 --- a/src/NzbDrone.Core.Test/IndexerSearchTests/SearchDefinitionFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerSearchTests/SearchDefinitionFixture.cs @@ -18,7 +18,7 @@ namespace NzbDrone.Core.Test.IndexerSearchTests public void should_replace_some_special_characters(string input, string expected) { Subject.SceneTitles = new List { input }; - Subject.QueryTitles.First().Should().Be(expected); + Subject.CleanSceneTitles.First().Should().Be(expected); } } } diff --git a/src/NzbDrone.Core/Blocklisting/BlocklistService.cs b/src/NzbDrone.Core/Blocklisting/BlocklistService.cs index c22c94a3c..419e89cf6 100644 --- a/src/NzbDrone.Core/Blocklisting/BlocklistService.cs +++ b/src/NzbDrone.Core/Blocklisting/BlocklistService.cs @@ -85,7 +85,8 @@ namespace NzbDrone.Core.Blocklisting Size = remoteMovie.Release.Size, Indexer = remoteMovie.Release.Indexer, Protocol = remoteMovie.Release.DownloadProtocol, - Message = message + Message = message, + Languages = remoteMovie.ParsedMovieInfo.Languages }; if (remoteMovie.Release is TorrentInfo torrentRelease) diff --git a/src/NzbDrone.Core/IndexerSearch/Definitions/SearchCriteriaBase.cs b/src/NzbDrone.Core/IndexerSearch/Definitions/SearchCriteriaBase.cs index da55ef55f..b132f3740 100644 --- a/src/NzbDrone.Core/IndexerSearch/Definitions/SearchCriteriaBase.cs +++ b/src/NzbDrone.Core/IndexerSearch/Definitions/SearchCriteriaBase.cs @@ -19,9 +19,9 @@ namespace NzbDrone.Core.IndexerSearch.Definitions public virtual bool UserInvokedSearch { get; set; } public virtual bool InteractiveSearch { get; set; } - public List QueryTitles => SceneTitles.Select(GetQueryTitle).ToList(); + public List CleanSceneTitles => SceneTitles.Select(GetCleanSceneTitle).Distinct().ToList(); - public static string GetQueryTitle(string title) + public static string GetCleanSceneTitle(string title) { Ensure.That(title, () => title).IsNotNullOrWhiteSpace(); diff --git a/src/NzbDrone.Core/Indexers/FileList/FileListRequestGenerator.cs b/src/NzbDrone.Core/Indexers/FileList/FileListRequestGenerator.cs index 1d6ac1445..ca47a146a 100644 --- a/src/NzbDrone.Core/Indexers/FileList/FileListRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/FileList/FileListRequestGenerator.cs @@ -30,7 +30,7 @@ namespace NzbDrone.Core.Indexers.FileList } else { - foreach (var queryTitle in searchCriteria.QueryTitles) + foreach (var queryTitle in searchCriteria.CleanSceneTitles) { var titleYearSearchQuery = string.Format("{0}+{1}", queryTitle, searchCriteria.Movie.Year); pageableRequests.Add(GetRequest("search-torrents", string.Format("&type=name&query={0}", titleYearSearchQuery.Trim()))); diff --git a/src/NzbDrone.Core/Indexers/Newznab/NewznabRequestGenerator.cs b/src/NzbDrone.Core/Indexers/Newznab/NewznabRequestGenerator.cs index a725a9756..9486b019a 100644 --- a/src/NzbDrone.Core/Indexers/Newznab/NewznabRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/Newznab/NewznabRequestGenerator.cs @@ -155,7 +155,7 @@ namespace NzbDrone.Core.Indexers.Newznab if (SupportsSearch) { chain.AddTier(); - var queryTitles = TextSearchEngine == "raw" ? searchCriteria.SceneTitles : searchCriteria.QueryTitles; + var queryTitles = TextSearchEngine == "raw" ? searchCriteria.SceneTitles : searchCriteria.CleanSceneTitles; foreach (var queryTitle in queryTitles) { var searchQuery = queryTitle; diff --git a/src/NzbDrone.Core/Indexers/Nyaa/NyaaRequestGenerator.cs b/src/NzbDrone.Core/Indexers/Nyaa/NyaaRequestGenerator.cs index 103e872b4..7760f08a8 100644 --- a/src/NzbDrone.Core/Indexers/Nyaa/NyaaRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/Nyaa/NyaaRequestGenerator.cs @@ -60,7 +60,7 @@ namespace NzbDrone.Core.Indexers.Nyaa { var pageableRequests = new IndexerPageableRequestChain(); - foreach (var queryTitle in searchCriteria.QueryTitles) + foreach (var queryTitle in searchCriteria.CleanSceneTitles) { pageableRequests.Add(GetPagedRequests(MaxPages, PrepareQuery(string.Format("{0} {1}", queryTitle, searchCriteria.Movie.Year)))); } diff --git a/src/NzbDrone.Core/Indexers/Omgwtfnzbs/OmgwtfnzbsRequestGenerator.cs b/src/NzbDrone.Core/Indexers/Omgwtfnzbs/OmgwtfnzbsRequestGenerator.cs index b2bf7d5aa..665044281 100644 --- a/src/NzbDrone.Core/Indexers/Omgwtfnzbs/OmgwtfnzbsRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/Omgwtfnzbs/OmgwtfnzbsRequestGenerator.cs @@ -30,7 +30,7 @@ namespace NzbDrone.Core.Indexers.Omgwtfnzbs { var pageableRequests = new IndexerPageableRequestChain(); - foreach (var queryTitle in searchCriteria.QueryTitles) + foreach (var queryTitle in searchCriteria.CleanSceneTitles) { pageableRequests.Add(GetPagedRequests(string.Format("{0}", queryTitle))); diff --git a/src/NzbDrone.Core/Indexers/PassThePopcorn/PassThePopcornRequestGenerator.cs b/src/NzbDrone.Core/Indexers/PassThePopcorn/PassThePopcornRequestGenerator.cs index 9a93c7673..f5d62c4fd 100644 --- a/src/NzbDrone.Core/Indexers/PassThePopcorn/PassThePopcornRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/PassThePopcorn/PassThePopcornRequestGenerator.cs @@ -35,7 +35,7 @@ namespace NzbDrone.Core.Indexers.PassThePopcorn } else if (searchCriteria.Movie.Year > 0) { - foreach (var queryTitle in searchCriteria.QueryTitles) + foreach (var queryTitle in searchCriteria.CleanSceneTitles) { pageableRequests.Add(GetRequest(string.Format("{0}&year={1}", queryTitle, searchCriteria.Movie.Year))); } diff --git a/src/Radarr.Api.V3/Queue/QueueController.cs b/src/Radarr.Api.V3/Queue/QueueController.cs index 0fbfec6e9..3fda5d985 100644 --- a/src/Radarr.Api.V3/Queue/QueueController.cs +++ b/src/Radarr.Api.V3/Queue/QueueController.cs @@ -204,7 +204,11 @@ namespace Radarr.Api.V3.Queue if (pendingRelease != null) { - _blocklistService.Block(pendingRelease.RemoteMovie, "Pending release manually blocklisted"); + if (blocklist) + { + _blocklistService.Block(pendingRelease.RemoteMovie, "Pending release manually blocklisted"); + } + _pendingReleaseService.RemovePendingQueueItems(pendingRelease.Id); return null;