From 3736be6601365bc282bb88a0df3a88a6cd801959 Mon Sep 17 00:00:00 2001 From: Alien21 Date: Sun, 12 Jun 2022 19:19:14 +0200 Subject: [PATCH 1/3] add support for .rrignore file to ignore movie folder in library import --- src/NzbDrone.Core/RootFolders/RootFolderService.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/NzbDrone.Core/RootFolders/RootFolderService.cs b/src/NzbDrone.Core/RootFolders/RootFolderService.cs index c7bf54edf..a48466b9c 100644 --- a/src/NzbDrone.Core/RootFolders/RootFolderService.cs +++ b/src/NzbDrone.Core/RootFolders/RootFolderService.cs @@ -30,6 +30,8 @@ namespace NzbDrone.Core.RootFolders private readonly IConfigService _configService; private readonly Logger _logger; + private static readonly string IgnoreFolderFile = ".rrignore"; + private static readonly HashSet SpecialFolders = new HashSet { "$recycle.bin", @@ -160,6 +162,8 @@ namespace NzbDrone.Core.RootFolders var setToRemove = SpecialFolders; results.RemoveAll(x => setToRemove.Contains(new DirectoryInfo(x.Path.ToLowerInvariant()).Name)); + results.RemoveAll(x => Directory.GetFiles(x.Path, IgnoreFolderFile).Length > 0); + _logger.Debug("{0} unmapped folders detected.", results.Count); return results.OrderBy(u => u.Name, StringComparer.InvariantCultureIgnoreCase).ToList(); } From e5079fc9cf0ca366ed18589ec1047d17118b2f6f Mon Sep 17 00:00:00 2001 From: Alien21 Date: Mon, 13 Jun 2022 18:53:02 +0200 Subject: [PATCH 2/3] first check if directory exists before check if exist some file in it :) --- src/NzbDrone.Core/RootFolders/RootFolderService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NzbDrone.Core/RootFolders/RootFolderService.cs b/src/NzbDrone.Core/RootFolders/RootFolderService.cs index a48466b9c..302cff2a9 100644 --- a/src/NzbDrone.Core/RootFolders/RootFolderService.cs +++ b/src/NzbDrone.Core/RootFolders/RootFolderService.cs @@ -162,7 +162,7 @@ namespace NzbDrone.Core.RootFolders var setToRemove = SpecialFolders; results.RemoveAll(x => setToRemove.Contains(new DirectoryInfo(x.Path.ToLowerInvariant()).Name)); - results.RemoveAll(x => Directory.GetFiles(x.Path, IgnoreFolderFile).Length > 0); + results.RemoveAll(x => Directory.Exists(x.Path) && Directory.GetFiles(x.Path, IgnoreFolderFile).Length > 0); _logger.Debug("{0} unmapped folders detected.", results.Count); return results.OrderBy(u => u.Name, StringComparer.InvariantCultureIgnoreCase).ToList();