From 41ece422c9b78ecc82f5853e19cdd5d173484a37 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Mon, 11 Aug 2014 07:19:02 -0700 Subject: [PATCH] Fixed: Remove accents from titles when looking for matching series --- src/NzbDrone.Core.Test/ParserTests/ParserFixture.cs | 8 ++++++++ src/NzbDrone.Core/IndexerSearch/NzbSearchService.cs | 10 +++++----- src/NzbDrone.Core/Parser/Parser.cs | 2 +- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/NzbDrone.Core.Test/ParserTests/ParserFixture.cs b/src/NzbDrone.Core.Test/ParserTests/ParserFixture.cs index bfcbcb926..578592956 100644 --- a/src/NzbDrone.Core.Test/ParserTests/ParserFixture.cs +++ b/src/NzbDrone.Core.Test/ParserTests/ParserFixture.cs @@ -40,5 +40,13 @@ namespace NzbDrone.Core.Test.ParserTests var result = Parser.Parser.ParseSeriesName(postTitle); result.Should().Be(title.CleanSeriesTitle()); } + + [Test] + public void should_remove_accents_from_title() + { + const String title = "Carnivāle"; + + title.CleanSeriesTitle().Should().Be("carnivale"); + } } } diff --git a/src/NzbDrone.Core/IndexerSearch/NzbSearchService.cs b/src/NzbDrone.Core/IndexerSearch/NzbSearchService.cs index 691d66e18..a030e0989 100644 --- a/src/NzbDrone.Core/IndexerSearch/NzbSearchService.cs +++ b/src/NzbDrone.Core/IndexerSearch/NzbSearchService.cs @@ -1,13 +1,10 @@ using System; using System.Collections.Generic; using System.Globalization; -using System.Runtime.Remoting.Messaging; using System.Threading.Tasks; using NLog; -using NzbDrone.Common; using NzbDrone.Core.DataAugmentation.Scene; using NzbDrone.Core.DecisionEngine; -using NzbDrone.Core.DecisionEngine.Specifications; using NzbDrone.Core.IndexerSearch.Definitions; using NzbDrone.Core.Indexers; using NzbDrone.Core.Instrumentation.Extensions; @@ -109,9 +106,12 @@ namespace NzbDrone.Core.IndexerSearch var sceneSeasonGroups = episodes.GroupBy(v => { if (v.SceneSeasonNumber == 0 && v.SceneEpisodeNumber == 0) + { return v.SeasonNumber; - else - return v.SceneSeasonNumber; + } + + return v.SceneSeasonNumber; + }).Distinct(); foreach (var sceneSeasonEpisodes in sceneSeasonGroups) diff --git a/src/NzbDrone.Core/Parser/Parser.cs b/src/NzbDrone.Core/Parser/Parser.cs index 303f8518e..70ec1e610 100644 --- a/src/NzbDrone.Core/Parser/Parser.cs +++ b/src/NzbDrone.Core/Parser/Parser.cs @@ -300,7 +300,7 @@ namespace NzbDrone.Core.Parser if (Int64.TryParse(title, out number)) return title; - return NormalizeRegex.Replace(title, String.Empty).ToLower(); + return NormalizeRegex.Replace(title, String.Empty).ToLower().RemoveAccent(); } public static string CleanupEpisodeTitle(string title)