From 2737937d3794f7f8775c4947b5f4fe3f8a88daa0 Mon Sep 17 00:00:00 2001 From: Robin Dadswell <19610103+RobinDadswell@users.noreply.github.com> Date: Wed, 17 Nov 2021 11:07:33 +0000 Subject: [PATCH 1/5] Fixed: Blocklist error on blocklisting release --- src/NzbDrone.Core/Blocklisting/BlocklistService.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/NzbDrone.Core/Blocklisting/BlocklistService.cs b/src/NzbDrone.Core/Blocklisting/BlocklistService.cs index c22c94a3c0..419e89cf68 100644 --- a/src/NzbDrone.Core/Blocklisting/BlocklistService.cs +++ b/src/NzbDrone.Core/Blocklisting/BlocklistService.cs @@ -85,7 +85,8 @@ public void Block(RemoteMovie remoteMovie, string message) 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) From 498d9086b5ece68671e997e48922b01afdded6c3 Mon Sep 17 00:00:00 2001 From: bakerboy448 <55419169+bakerboy448@users.noreply.github.com> Date: Wed, 17 Nov 2021 09:54:01 -0600 Subject: [PATCH 2/5] Fixed: Only blocklist pending releases when option is checked (cherry picked from commit d11c691a7389d8984ddcbbd299d3192690719a1a) Fixes #6730 Closes #6732 --- src/Radarr.Api.V3/Queue/QueueController.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Radarr.Api.V3/Queue/QueueController.cs b/src/Radarr.Api.V3/Queue/QueueController.cs index 0fbfec6e96..3fda5d9850 100644 --- a/src/Radarr.Api.V3/Queue/QueueController.cs +++ b/src/Radarr.Api.V3/Queue/QueueController.cs @@ -204,7 +204,11 @@ private TrackedDownload Remove(int id, bool removeFromClient, bool blocklist) 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; From f1de24ccc85ce9212102d805caafc66c55eaf7c8 Mon Sep 17 00:00:00 2001 From: Weblate Date: Mon, 15 Nov 2021 07:29:40 +0000 Subject: [PATCH 3/5] Translated using Weblate (Chinese (Simplified) (zh_CN)) [skip ci] Currently translated at 99.8% (1108 of 1110 strings) Translated using Weblate (Chinese (Simplified) (zh_CN)) [skip ci] Currently translated at 99.8% (1108 of 1110 strings) Update translation files [skip ci] Updated by "Remove blank strings" hook in Weblate. Co-authored-by: Anonymous Co-authored-by: Weblate Co-authored-by: mm519897405 Translate-URL: https://translate.servarr.com/projects/servarr/radarr/ Translate-URL: https://translate.servarr.com/projects/servarr/radarr/zh_CN/ Translation: Servarr/Radarr --- src/NzbDrone.Core/Localization/Core/sk.json | 1 - .../Localization/Core/zh_CN.json | 38 ++++++++++++------- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/src/NzbDrone.Core/Localization/Core/sk.json b/src/NzbDrone.Core/Localization/Core/sk.json index 1802fa3c8c..48b9eaa671 100644 --- a/src/NzbDrone.Core/Localization/Core/sk.json +++ b/src/NzbDrone.Core/Localization/Core/sk.json @@ -32,7 +32,6 @@ "AllMoviesInPathHaveBeenImported": "Všetky filmy z domény {0} boli importované", "AllowMovieChangeClickToChangeMovie": "Kliknutím zmeníte film", "AlreadyInYourLibrary": "Už vo vašej knižnici", - "AllowHardcodedSubs": "", "AlternativeTitle": "Alternatívny názov", "Always": "Vždy", "AnalyseVideoFiles": "Analyzovať video súbory", diff --git a/src/NzbDrone.Core/Localization/Core/zh_CN.json b/src/NzbDrone.Core/Localization/Core/zh_CN.json index d9181dde14..bd4d4421a5 100644 --- a/src/NzbDrone.Core/Localization/Core/zh_CN.json +++ b/src/NzbDrone.Core/Localization/Core/zh_CN.json @@ -120,7 +120,7 @@ "AptUpdater": "使用 apt 安装更新", "AnalyseVideoFiles": "分析视频文件", "Always": "总是", - "AlreadyInYourLibrary": "已经在库中", + "AlreadyInYourLibrary": "已经在你的库中", "AllResultsHiddenFilter": "根据过滤条件所有结果已隐藏", "CancelPendingTask": "您确定要取消这个挂起的任务吗?", "Peers": "用户", @@ -208,9 +208,9 @@ "Reset": "重置", "RescanMovieFolderAfterRefresh": "刷新后重新扫描影片文件夹", "Required": "必须的", - "ReplaceWithSpaceDashSpace": "使用空格波折号空格替换", - "ReplaceWithSpaceDash": "使用空格波折号替换", - "ReplaceWithDash": "使用波折号替换", + "ReplaceWithSpaceDashSpace": "使用空格破折号空格替换", + "ReplaceWithSpaceDash": "使用空格破折号替换", + "ReplaceWithDash": "使用破折号替换", "ReplaceIllegalCharactersHelpText": "替换非法字符,如未勾选,则会被Radarr移除", "ReplaceIllegalCharacters": "替换非法字符", "Replace": "替换", @@ -540,7 +540,7 @@ "SSLPort": "SSL端口", "SSLCertPath": "SSL证书路径", "SourcePath": "来源路径", - "Source": "源代码", + "Source": "源路径", "SorryThatMovieCannotBeFound": "对不起,未找到影片。", "SkipFreeSpaceCheck": "跳过剩余空间检查", "SizeOnDisk": "占用磁盘体积", @@ -578,7 +578,7 @@ "AddMoviesMonitored": "添加监控中的电影", "AddListExclusion": "添加排除列表", "AddList": "添加列表", - "AddingTag": "添加便签", + "AddingTag": "添加标签", "AddImportExclusionHelpText": "防止列表中的电影被添加到 Radarr 中", "AddExclusion": "添加例外", "AddedToDownloadQueue": "已添加到已下载队列", @@ -625,7 +625,7 @@ "MonitoredHelpText": "可用时下载影片", "Monitor": "是否监控", "MissingFromDisk": "Radarr在磁盘上找不到该文件,已移除", - "MinimumFreeSpaceWhenImportingHelpText": "如果可用磁盘空间少于此数则阻止导入", + "MinimumFreeSpaceWhenImportingHelpText": "如果导入的磁盘空间不足,则禁止导入", "MinimumFreeSpace": "最小剩余空间", "MinimumCustomFormatScore": "最小自定义格式分数", "MinFormatScoreHelpText": "允许下载的最小自定义格式分数", @@ -656,8 +656,8 @@ "IndexerStatusCheckAllClientMessage": "所有搜刮器都因错误不可用", "IndexerSearchCheckNoInteractiveMessage": "没有任何搜刮器开启了手动搜索,Radarr不会提供任何手动搜索结果", "IndexerRssHealthCheckNoIndexers": "没有任何搜刮器开启了RSS同步,Radarr不会自动抓取新发布的影片", - "IndexerLongTermStatusCheckSingleClientMessage": "所有搜刮器由于故障都已不可用6小时:{0}", - "IndexerLongTermStatusCheckAllClientMessage": "所有搜刮器由于故障都已不可用6小时", + "IndexerLongTermStatusCheckSingleClientMessage": "由于故障6小时,下列搜刮器都已不可用:{0}", + "IndexerLongTermStatusCheckAllClientMessage": "由于故障超过6小时,所有搜刮器均不可用", "IndexerFlags": "搜刮器标记", "IncludeUnmonitored": "包含未监控的", "IncludeRecommendationsHelpText": "在发现页面中包含Radarr推荐影片", @@ -761,7 +761,7 @@ "UnableToAddANewQualityProfilePleaseTryAgain": "无法添加新影片质量配置,请稍后重试。", "ThisCannotBeCancelled": "该操作不能取消,除非重新启动Radarr。", "SearchCutoffUnmet": "搜索未满足终止条件的", - "RadarrSupportsAnyDownloadClient": "Radarr支持任何使用Newznab标准的下载客户端,以及下面列出的其他下载客户端。", + "RadarrSupportsAnyDownloadClient": "Radarr支持许多常用的的torrent和usenet下载客户端。", "VideoCodec": "视频编码", "QualitySettings": "影片质量配置设置", "UseHardlinksInsteadOfCopy": "使用硬链接代替复制", @@ -857,7 +857,7 @@ "PreviewRename": "预览重命名", "ForMoreInformationOnTheIndividualIndexers": "有关更多搜刮器的详细信息,请单击信息按钮。", "ForMoreInformationOnTheIndividualImportListsClinkOnTheInfoButtons": "有关更多导入列表的详细信息,请单击info按钮。", - "ForMoreInformationOnTheIndividualDownloadClients": "有关个别下载客户端的详细信息,请单击info按钮。", + "ForMoreInformationOnTheIndividualDownloadClients": "若需要查看有关下载客户端的详细信息,请点击“更多信息”按钮。", "Crew": "工作人员", "ChmodGroupHelpTextWarning": "这只在运行Radarr的用户是文件所有者的情况下才有效。最好确保下载客户端使用与Radarr相同的组。", "ChmodFolderHelpTextWarning": "这只在运行Radarr的用户是文件所有者的情况下才有效。最好确保下载客户端正确设置权限。", @@ -876,8 +876,8 @@ "DownloadPropersAndRepacks": "适合的和重封装的Propers and Repacks", "DoNotPrefer": "不要首选", "Reorder": "重新排序Reorder", - "MinimumAvailability": "最小可用性Minimum Availability", - "MinimumAge": "最小年龄Minimum Age", + "MinimumAvailability": "最小可用性", + "MinimumAge": "最小年龄", "ListTagsHelpText": "标签列表项目将被添加和", "IncludeUnknownMovieItemsHelpText": "显示队列中没有电影的项目,这可能包括被删除的电影或Radarr类别中的任何其他内容", "ExtraFileExtensionsHelpTexts1": "要导入的额外文件的逗号分隔列表(.nfo将被导入为.nfo-orig)Comma separated list of extra files to import", @@ -1096,5 +1096,15 @@ "BlocklistRelease": "黑名单版本", "RemoveFromBlocklist": "从黑名单中移除", "UnableToLoadBlocklist": "无法加载黑名单", - "Blocklisted": "黑名单" + "Blocklisted": "黑名单", + "AreYouSureYouWantToRemoveSelectedItemFromQueue": "确认从队列中删除已选择项目?", + "BlocklistReleases": "黑名单版本", + "IndexerTagHelpText": "仅对至少有一个匹配标记的电影使用此索引器。留空则适用于所有电影。", + "RemotePathMappingCheckFileRemoved": "文件{0} 在处理的过程中被部分删除。", + "RemotePathMappingCheckFilesGenericPermissions": "下载{1}中客户端{0}报告的文件,但Radarr无法看到此目录。您可能需要调整文件夹的权限。", + "RemotePathMappingCheckGenericPermissions": "下载客户端{0}将下载放置在{1}中,但Radarr无法看到此目录。您可能需要调整文件夹的权限。", + "UpdateAvailable": "有新的更新可用", + "Letterboxd": "信箱", + "RemoveSelectedItem": "删除所选项目", + "RemoveSelectedItems": "删除所选项目" } From 183d3d0872006f2822a2076c8578b614b7d4ffd3 Mon Sep 17 00:00:00 2001 From: ta264 Date: Thu, 18 Nov 2021 21:55:25 +0000 Subject: [PATCH 4/5] Fixed: Error adding import list exclusions from discover Fixes #6739 --- frontend/src/Store/Actions/discoverMovieActions.js | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/Store/Actions/discoverMovieActions.js b/frontend/src/Store/Actions/discoverMovieActions.js index 8b01e3af51..62f3534da3 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; From b18daebc8a1da3a5fc19eacd490df4a6fcff1ad3 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Tue, 5 Oct 2021 12:00:59 -0700 Subject: [PATCH 5/5] Rename QueryTitles to CleanSceneTitles in SearchCriteriaBase (cherry picked from commit 747a4164e24e9861cacad39cf7d94db398747b38) --- .../IndexerSearchTests/SearchDefinitionFixture.cs | 2 +- .../IndexerSearch/Definitions/SearchCriteriaBase.cs | 4 ++-- .../Indexers/FileList/FileListRequestGenerator.cs | 2 +- src/NzbDrone.Core/Indexers/Newznab/NewznabRequestGenerator.cs | 2 +- src/NzbDrone.Core/Indexers/Nyaa/NyaaRequestGenerator.cs | 2 +- .../Indexers/Omgwtfnzbs/OmgwtfnzbsRequestGenerator.cs | 2 +- .../Indexers/PassThePopcorn/PassThePopcornRequestGenerator.cs | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/NzbDrone.Core.Test/IndexerSearchTests/SearchDefinitionFixture.cs b/src/NzbDrone.Core.Test/IndexerSearchTests/SearchDefinitionFixture.cs index 4e1f4db6db..6ec88ac3d9 100644 --- a/src/NzbDrone.Core.Test/IndexerSearchTests/SearchDefinitionFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerSearchTests/SearchDefinitionFixture.cs @@ -18,7 +18,7 @@ public class SearchDefinitionFixture : CoreTest 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/IndexerSearch/Definitions/SearchCriteriaBase.cs b/src/NzbDrone.Core/IndexerSearch/Definitions/SearchCriteriaBase.cs index da55ef55f9..b132f3740e 100644 --- a/src/NzbDrone.Core/IndexerSearch/Definitions/SearchCriteriaBase.cs +++ b/src/NzbDrone.Core/IndexerSearch/Definitions/SearchCriteriaBase.cs @@ -19,9 +19,9 @@ public abstract class SearchCriteriaBase 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 1d6ac14457..ca47a146a4 100644 --- a/src/NzbDrone.Core/Indexers/FileList/FileListRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/FileList/FileListRequestGenerator.cs @@ -30,7 +30,7 @@ public virtual IndexerPageableRequestChain GetSearchRequests(MovieSearchCriteria } 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 a725a9756b..9486b019a8 100644 --- a/src/NzbDrone.Core/Indexers/Newznab/NewznabRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/Newznab/NewznabRequestGenerator.cs @@ -155,7 +155,7 @@ private void AddMovieIdPageableRequests(IndexerPageableRequestChain chain, int m 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 103e872b49..7760f08a85 100644 --- a/src/NzbDrone.Core/Indexers/Nyaa/NyaaRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/Nyaa/NyaaRequestGenerator.cs @@ -60,7 +60,7 @@ public IndexerPageableRequestChain GetSearchRequests(MovieSearchCriteria searchC { 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 b2bf7d5aa4..665044281d 100644 --- a/src/NzbDrone.Core/Indexers/Omgwtfnzbs/OmgwtfnzbsRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/Omgwtfnzbs/OmgwtfnzbsRequestGenerator.cs @@ -30,7 +30,7 @@ public IndexerPageableRequestChain GetSearchRequests(MovieSearchCriteria searchC { 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 9a93c76735..f5d62c4fdf 100644 --- a/src/NzbDrone.Core/Indexers/PassThePopcorn/PassThePopcornRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/PassThePopcorn/PassThePopcornRequestGenerator.cs @@ -35,7 +35,7 @@ public IndexerPageableRequestChain GetSearchRequests(MovieSearchCriteria searchC } 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))); }