From bbcabf0632c4f359586006d4fda15d159df38c7e Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Sun, 24 May 2015 23:18:57 -0700 Subject: [PATCH] Fixed: Don't use folder quality when it is unknown and file quality is Closes #560 --- .../ImportDecisionMakerFixture.cs | 18 ++++++++++++++++++ .../EpisodeImport/ImportDecisionMaker.cs | 4 ++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Core.Test/MediaFiles/EpisodeImport/ImportDecisionMakerFixture.cs b/src/NzbDrone.Core.Test/MediaFiles/EpisodeImport/ImportDecisionMakerFixture.cs index 9e90fa811..a0cceecd1 100644 --- a/src/NzbDrone.Core.Test/MediaFiles/EpisodeImport/ImportDecisionMakerFixture.cs +++ b/src/NzbDrone.Core.Test/MediaFiles/EpisodeImport/ImportDecisionMakerFixture.cs @@ -345,5 +345,23 @@ namespace NzbDrone.Core.Test.MediaFiles.EpisodeImport Mocker.GetMock() .Verify(c => c.GetLocalEpisode(It.IsAny(), It.IsAny(), It.Is(p => p != null), true), Times.Never()); } + + [Test] + public void should_not_use_folder_quality_when_it_is_unknown() + { + GivenSpecifications(_pass1, _pass2, _pass3); + + _series.Profile = new Profile + { + Items = Qualities.QualityFixture.GetDefaultQualities(Quality.DVD, Quality.Unknown) + }; + + + var folderQuality = new QualityModel(Quality.Unknown); + + var result = Subject.GetImportDecisions(_videoFiles, _series, new ParsedEpisodeInfo { Quality = folderQuality}, true); + + result.Single().LocalEpisode.Quality.Should().Be(_quality); + } } } diff --git a/src/NzbDrone.Core/MediaFiles/EpisodeImport/ImportDecisionMaker.cs b/src/NzbDrone.Core/MediaFiles/EpisodeImport/ImportDecisionMaker.cs index 005ac2a24..df5d6cc18 100644 --- a/src/NzbDrone.Core/MediaFiles/EpisodeImport/ImportDecisionMaker.cs +++ b/src/NzbDrone.Core/MediaFiles/EpisodeImport/ImportDecisionMaker.cs @@ -182,8 +182,8 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport private QualityModel GetQuality(ParsedEpisodeInfo folderInfo, QualityModel fileQuality, Series series) { if (folderInfo != null && - new QualityModelComparer(series.Profile).Compare(folderInfo.Quality, - fileQuality) > 0) + folderInfo.Quality.Quality != Quality.Unknown && + new QualityModelComparer(series.Profile).Compare(folderInfo.Quality, fileQuality) > 0) { _logger.Debug("Using quality from folder: {0}", folderInfo.Quality); return folderInfo.Quality;