From dba5a1a23684a34150314507c6009cd0bba102e6 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Thu, 1 Dec 2011 21:37:13 -0800 Subject: [PATCH] GetSabTitle will now handle daily episodes. --- .../ProviderTests/SabProviderTest.cs | 26 +++++++++++++++++++ NzbDrone.Core/NzbDrone.Core.csproj | 4 +-- NzbDrone.Core/Providers/SabProvider.cs | 11 ++++++++ 3 files changed, 38 insertions(+), 3 deletions(-) diff --git a/NzbDrone.Core.Test/ProviderTests/SabProviderTest.cs b/NzbDrone.Core.Test/ProviderTests/SabProviderTest.cs index 4297c63d3..29dbb0bea 100644 --- a/NzbDrone.Core.Test/ProviderTests/SabProviderTest.cs +++ b/NzbDrone.Core.Test/ProviderTests/SabProviderTest.cs @@ -321,6 +321,32 @@ namespace NzbDrone.Core.Test.ProviderTests Assert.AreEqual(expected, actual); } + [TestCase(true, "My Series Name - 2011-12-01 - My Episode Title [Bluray720p] [Proper]")] + [TestCase(false, "My Series Name - 2011-12-01 - My Episode Title [Bluray720p]")] + public void sab_daily_series_title(bool proper, string expected) + { + var mocker = new AutoMoqer(); + + var series = Builder.CreateNew() + .With(c => c.Path = @"d:\tv shows\My Series Name") + .With(c => c.IsDaily = true) + .Build(); + + var parsResult = new EpisodeParseResult + { + AirDate = new DateTime(2011, 12,1), + Quality = new Quality(QualityTypes.Bluray720p, proper), + Series = series, + EpisodeTitle = "My Episode Title", + }; + + //Act + var actual = mocker.Resolve().GetSabTitle(parsResult); + + //Assert + Assert.AreEqual(expected, actual); + } + [Test] [Explicit] public void AddNewzbingByUrlSuccess() diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index 0a4bfd91a..6284fe3b4 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -383,9 +383,7 @@ - - - + diff --git a/NzbDrone.Core/Providers/SabProvider.cs b/NzbDrone.Core/Providers/SabProvider.cs index 8d9d92126..2562926ca 100644 --- a/NzbDrone.Core/Providers/SabProvider.cs +++ b/NzbDrone.Core/Providers/SabProvider.cs @@ -117,6 +117,17 @@ namespace NzbDrone.Core.Providers return seasonResult; } + if (parseResult.Series.IsDaily) + { + var dailyResult = String.Format("{0} - {1:yyyy-MM-dd} - {2} [{3}]", new DirectoryInfo(parseResult.Series.Path).Name, + parseResult.AirDate, parseResult.EpisodeTitle, parseResult.Quality.QualityType); + + if (parseResult.Quality.Proper) + dailyResult += " [Proper]"; + + return dailyResult; + } + //Show Name - 1x01-1x02 - Episode Name //Show Name - 1x01 - Episode Name var episodeString = new List();