diff --git a/NzbDrone.Core.Test/ParserFixture/ParserTest.cs b/NzbDrone.Core.Test/ParserFixture/ParserTest.cs index 81bb1bead..18d4a621a 100644 --- a/NzbDrone.Core.Test/ParserFixture/ParserTest.cs +++ b/NzbDrone.Core.Test/ParserFixture/ParserTest.cs @@ -13,8 +13,8 @@ using NzbDrone.Test.Common; namespace NzbDrone.Core.Test.ParserFixture { - [TestFixture] // ReSharper disable InconsistentNaming + [TestFixture] public class ParserTest : CoreTest { /*Fucked-up hall of shame, @@ -189,6 +189,7 @@ namespace NzbDrone.Core.Test.ParserFixture [TestCase("Parks.and.Recreation.S02.720p.x264-DIMENSION", "Parks.and.Recreation", 2)] [TestCase("The.Office.US.S03.720p.x264-DIMENSION", "The.Office.US", 3)] [TestCase(@"Sons.of.Anarchy.S03.720p.BluRay-CLUE\REWARD", "Sons.of.Anarchy", 3)] + [TestCase("Adventure Time S02 720p HDTV x264 CRON", "Adventure Time", 2)] public void full_season_release_parse(string postTitle, string title, int season) { var result = Parser.ParseTitle(postTitle); @@ -285,6 +286,7 @@ namespace NzbDrone.Core.Test.ParserFixture [TestCase("The Daily Show With Jon Stewart -", "dailyshowwithjonstewart")] [TestCase("The Venture Bros. (2004)", "venturebros2004")] [TestCase("Castle (2011)", "castle2011")] + [TestCase("Adventure Time S02 720p HDTV x264 CRON", "adventuretime")] public void parse_series_name(string postTitle, string title) { var result = Parser.ParseSeriesName(postTitle); diff --git a/NzbDrone.Core/Parser.cs b/NzbDrone.Core/Parser.cs index 04bc153ce..ea1890f49 100644 --- a/NzbDrone.Core/Parser.cs +++ b/NzbDrone.Core/Parser.cs @@ -236,20 +236,12 @@ namespace NzbDrone.Core { Logger.Trace("Parsing string '{0}'", title); - foreach (var regex in ReportTitleRegex) - { - var match = regex.Matches(title); + var parseResult = ParseTitle(title); - if (match.Count != 0) - { - var seriesName = NormalizeTitle(match[0].Groups["title"].Value); + if(parseResult == null) + return NormalizeTitle(title); - Logger.Trace("Series Parsed. {0}", seriesName); - return seriesName; - } - } - - return NormalizeTitle(title); + return parseResult.CleanTitle; } internal static QualityModel ParseQuality(string name) diff --git a/NzbDrone.Core/Providers/SearchHistoryProvider.cs b/NzbDrone.Core/Providers/SearchHistoryProvider.cs index 4fb7e97a8..f746d18a3 100644 --- a/NzbDrone.Core/Providers/SearchHistoryProvider.cs +++ b/NzbDrone.Core/Providers/SearchHistoryProvider.cs @@ -70,7 +70,7 @@ namespace NzbDrone.Core.Providers ON Series.SeriesId = SearchHistory.SeriesId LEFT JOIN Episodes ON Episodes.EpisodeId = SearchHistory.EpisodeId - INNER JOIN SearchHistoryItems + LEFT JOIN SearchHistoryItems ON SearchHistoryItems.SearchHistoryId = SearchHistory.Id GROUP BY SearchHistory.Id, SearchHistory.SeriesId, SearchHistory.SeasonNumber, SearchHistory.EpisodeId, SearchHistory.SearchTime, diff --git a/NzbDrone.Web/Content/Images/apple-touch-icon-114.png b/NzbDrone.Web/Content/Images/apple-touch-icon-114.png new file mode 100644 index 000000000..22cfed264 Binary files /dev/null and b/NzbDrone.Web/Content/Images/apple-touch-icon-114.png differ diff --git a/NzbDrone.Web/Content/Images/apple-touch-icon-144.png b/NzbDrone.Web/Content/Images/apple-touch-icon-144.png new file mode 100644 index 000000000..e606a1c5e Binary files /dev/null and b/NzbDrone.Web/Content/Images/apple-touch-icon-144.png differ diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj index 4e1dfc4d3..b0883d8e1 100644 --- a/NzbDrone.Web/NzbDrone.Web.csproj +++ b/NzbDrone.Web/NzbDrone.Web.csproj @@ -208,6 +208,8 @@ + + diff --git a/NzbDrone.Web/Views/Shared/_ReferenceLayout.cshtml b/NzbDrone.Web/Views/Shared/_ReferenceLayout.cshtml index c2f6c78cf..8cd7c3c9b 100644 --- a/NzbDrone.Web/Views/Shared/_ReferenceLayout.cshtml +++ b/NzbDrone.Web/Views/Shared/_ReferenceLayout.cshtml @@ -6,6 +6,16 @@ @this.InitClientTimings() + + + + + + + + + + @Html.IncludeCss("jQueryUI/jquery-ui-1.8.16.custom.css")