Fixed: Do not scan episode files in .AppleDouble folders

pull/3113/head
Mark McDowall 10 years ago
parent 175ae3e996
commit 7af9748ff3

@ -66,6 +66,7 @@ namespace NzbDrone.Core.Test.MediaFiles.DiskScanServiceTests
public void should_not_scan_extras_folder() public void should_not_scan_extras_folder()
{ {
GivenParentFolderExists(); GivenParentFolderExists();
GivenFiles(new List<String> GivenFiles(new List<String>
{ {
Path.Combine(_series.Path, "EXTRAS", "file1.mkv").AsOsAgnostic(), Path.Combine(_series.Path, "EXTRAS", "file1.mkv").AsOsAgnostic(),
@ -75,9 +76,23 @@ namespace NzbDrone.Core.Test.MediaFiles.DiskScanServiceTests
Path.Combine(_series.Path, "Season 1", "s01e01.mkv").AsOsAgnostic() Path.Combine(_series.Path, "Season 1", "s01e01.mkv").AsOsAgnostic()
}); });
// Mocker.GetMock<IMakeImportDecision>() Subject.Scan(_series);
// .Setup(s => s.GetImportDecisions(It.IsAny<List<String>>(), _series, false, (QualityModel) null))
// .Returns(new List<ImportDecision>()); Mocker.GetMock<IMakeImportDecision>()
.Verify(v => v.GetImportDecisions(It.Is<List<String>>(l => l.Count == 1), _series, false, (QualityModel)null), Times.Once());
}
[Test]
public void should_not_scan_AppleDouble_folder()
{
GivenParentFolderExists();
GivenFiles(new List<String>
{
Path.Combine(_series.Path, ".AppleDouble", "file1.mkv").AsOsAgnostic(),
Path.Combine(_series.Path, ".appledouble", "file2.mkv").AsOsAgnostic(),
Path.Combine(_series.Path, "Season 1", "s01e01.mkv").AsOsAgnostic()
});
Subject.Scan(_series); Subject.Scan(_series);

@ -56,7 +56,7 @@ namespace NzbDrone.Core.MediaFiles
_logger = logger; _logger = logger;
} }
private static readonly Regex ExtrasRegex = new Regex(@"(?:\\|\/)extras(?:\\|\/)", RegexOptions.Compiled | RegexOptions.IgnoreCase); private static readonly Regex ExcludedSubFoldersRegex = new Regex(@"(?:\\|\/)(extras|\.appledouble)(?:\\|\/)", RegexOptions.Compiled | RegexOptions.IgnoreCase);
public void Scan(Series series) public void Scan(Series series)
{ {
@ -89,7 +89,7 @@ namespace NzbDrone.Core.MediaFiles
} }
var videoFilesStopwatch = Stopwatch.StartNew(); var videoFilesStopwatch = Stopwatch.StartNew();
var mediaFileList = GetVideoFiles(series.Path).Where(file => !ExtrasRegex.IsMatch(file)).ToList(); var mediaFileList = GetVideoFiles(series.Path).Where(file => !ExcludedSubFoldersRegex.IsMatch(file)).ToList();
videoFilesStopwatch.Stop(); videoFilesStopwatch.Stop();
_logger.Trace("Finished getting episode files for: {0} [{1}]", series, videoFilesStopwatch.Elapsed); _logger.Trace("Finished getting episode files for: {0} [{1}]", series, videoFilesStopwatch.Elapsed);

Loading…
Cancel
Save