From 6493622ebc210aa9d9640955c4f80ce08ef8af30 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Wed, 12 Feb 2014 01:03:24 -0800 Subject: [PATCH] Also trim question marks --- .../OrganizerTests/GetNewFilenameFixture.cs | 17 +++++++++++++++++ src/NzbDrone.Core/Organizer/FileNameBuilder.cs | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/NzbDrone.Core.Test/OrganizerTests/GetNewFilenameFixture.cs b/src/NzbDrone.Core.Test/OrganizerTests/GetNewFilenameFixture.cs index 45043235a..67afd0a44 100644 --- a/src/NzbDrone.Core.Test/OrganizerTests/GetNewFilenameFixture.cs +++ b/src/NzbDrone.Core.Test/OrganizerTests/GetNewFilenameFixture.cs @@ -385,6 +385,23 @@ namespace NzbDrone.Core.Test.OrganizerTests .Build(); + Subject.BuildFilename(new List { episode }, new Series { Title = "30 Rock" }, _episodeFile) + .Should().Be("30 Rock - S06E06 - Part 1"); + } + + [Test] + public void should_trim_question_marks_from_end_of_episode_title() + { + _namingConfig.StandardEpisodeFormat = "{Series Title} - S{season:00}E{episode:00} - {Episode Title}"; + _namingConfig.MultiEpisodeStyle = 3; + + var episode = Builder.CreateNew() + .With(e => e.Title = "Part 1?") + .With(e => e.SeasonNumber = 6) + .With(e => e.EpisodeNumber = 6) + .Build(); + + Subject.BuildFilename(new List { episode }, new Series { Title = "30 Rock" }, _episodeFile) .Should().Be("30 Rock - S06E06 - Part 1"); } diff --git a/src/NzbDrone.Core/Organizer/FileNameBuilder.cs b/src/NzbDrone.Core/Organizer/FileNameBuilder.cs index c158cb514..1ad4f3ec4 100644 --- a/src/NzbDrone.Core/Organizer/FileNameBuilder.cs +++ b/src/NzbDrone.Core/Organizer/FileNameBuilder.cs @@ -44,7 +44,7 @@ namespace NzbDrone.Core.Organizer public static readonly Regex SeriesTitleRegex = new Regex(@"(?\{(?:Series)(?\s|\.|-|_)Title\})", RegexOptions.Compiled | RegexOptions.IgnoreCase); - private static readonly char[] EpisodeTitleTrimCharaters = new[] { ' ', '.' }; + private static readonly char[] EpisodeTitleTrimCharaters = new[] { ' ', '.', '?' }; public FileNameBuilder(INamingConfigService namingConfigService, IQualityDefinitionService qualityDefinitionService,