diff --git a/src/NzbDrone.Core.Test/DecisionEngineTests/NotRestrictedReleaseSpecificationFixture.cs b/src/NzbDrone.Core.Test/DecisionEngineTests/NotRestrictedReleaseSpecificationFixture.cs index cdbce8077..ee09defa0 100644 --- a/src/NzbDrone.Core.Test/DecisionEngineTests/NotRestrictedReleaseSpecificationFixture.cs +++ b/src/NzbDrone.Core.Test/DecisionEngineTests/NotRestrictedReleaseSpecificationFixture.cs @@ -16,12 +16,12 @@ namespace NzbDrone.Core.Test.DecisionEngineTests public void Setup() { _parseResult = new RemoteEpisode - { - Release = new ReleaseInfo - { - Title = "Dexter.S08E01.EDITED.WEBRip.x264-KYR" - } - }; + { + Release = new ReleaseInfo + { + Title = "Dexter.S08E01.EDITED.WEBRip.x264-KYR" + } + }; } [Test] @@ -49,5 +49,12 @@ namespace NzbDrone.Core.Test.DecisionEngineTests Mocker.GetMock().SetupGet(c => c.ReleaseRestrictions).Returns(restrictions); Subject.IsSatisfiedBy(_parseResult, null).Should().BeTrue(); } + + [Test] + public void should_not_try_to_find_empty_string_as_a_match() + { + Mocker.GetMock().SetupGet(c => c.ReleaseRestrictions).Returns("test\n"); + Subject.IsSatisfiedBy(_parseResult, null).Should().BeTrue(); + } } } \ No newline at end of file diff --git a/src/NzbDrone.Core/Configuration/ConfigService.cs b/src/NzbDrone.Core/Configuration/ConfigService.cs index 4a4bda1f3..3b66cad13 100644 --- a/src/NzbDrone.Core/Configuration/ConfigService.cs +++ b/src/NzbDrone.Core/Configuration/ConfigService.cs @@ -231,8 +231,8 @@ namespace NzbDrone.Core.Configuration public string ReleaseRestrictions { - get { return GetValue("ReleaseRestrictions", String.Empty); } - set { SetValue("ReleaseRestrictions", value); } + get { return GetValue("ReleaseRestrictions", String.Empty).Trim('\r', '\n'); } + set { SetValue("ReleaseRestrictions", value.Trim('\r', '\n')); } } public Int32 RssSyncInterval diff --git a/src/NzbDrone.Core/DecisionEngine/Specifications/NotRestrictedReleaseSpecification.cs b/src/NzbDrone.Core/DecisionEngine/Specifications/NotRestrictedReleaseSpecification.cs index 628b8183e..8cfe45cf3 100644 --- a/src/NzbDrone.Core/DecisionEngine/Specifications/NotRestrictedReleaseSpecification.cs +++ b/src/NzbDrone.Core/DecisionEngine/Specifications/NotRestrictedReleaseSpecification.cs @@ -41,6 +41,8 @@ namespace NzbDrone.Core.DecisionEngine.Specifications foreach (var restriction in restrictions) { + if (String.IsNullOrWhiteSpace(restriction)) continue; + if (subject.Release.Title.ToLowerInvariant().Contains(restriction.ToLowerInvariant())) { _logger.Trace("{0} is restricted: {1}", subject, restriction);