From e958a019ed05dcdc000ff1673b86b88d75256cb1 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Mon, 2 Jan 2012 18:18:36 -0800 Subject: [PATCH] Updated parser to skip longer than expected numbers from being parsed. --- NzbDrone.Core.Test/ParserTest.cs | 7 +++++++ NzbDrone.Core/Parser.cs | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/NzbDrone.Core.Test/ParserTest.cs b/NzbDrone.Core.Test/ParserTest.cs index 1ea4f0fb0..5b5284dcd 100644 --- a/NzbDrone.Core.Test/ParserTest.cs +++ b/NzbDrone.Core.Test/ParserTest.cs @@ -390,5 +390,12 @@ namespace NzbDrone.Core.Test ExceptionVerification.IgnoreWarns(); ExceptionVerification.ExpectedErrors(1); } + + [TestCase(@"C:\BuildAgent\work\b5a20f8391187721\NzbDrone.Core.Test\bin\Release\WEEDS.avi")] + public void parseTitle_should_log_warning_when_unable_to_parse(string title) + { + Parser.ParseTitle(title); + ExceptionVerification.ExpectedWarns(1); + } } } diff --git a/NzbDrone.Core/Parser.cs b/NzbDrone.Core/Parser.cs index 630a34716..578231970 100644 --- a/NzbDrone.Core/Parser.cs +++ b/NzbDrone.Core/Parser.cs @@ -44,11 +44,11 @@ namespace NzbDrone.Core RegexOptions.IgnoreCase | RegexOptions.Compiled), //Supports 1103/1113 naming - new Regex(@"^(?.+?)?(?:\W?(?<season>\d{2})(?<episode>\d{2}(?!p|i)))+\W?(?!\\)", + new Regex(@"^(?<title>.+?)?(?:\W?(?<season>(?<!\d+)\d{2})(?<episode>\d{2}(?!p|i|\d+)))+\W?(?!\\)", RegexOptions.IgnoreCase | RegexOptions.Compiled), //Supports 103/113 naming - new Regex(@"^(?<title>.+?)?(?:\W?(?<season>\d{1})(?<episode>\d{2}(?!p|i|\d+)))+\W?(?!\\)", + new Regex(@"^(?<title>.+?)?(?:\W?(?<season>(?<!\d+)\d{1})(?<episode>\d{2}(?!p|i|\d+)))+\W?(?!\\)", RegexOptions.IgnoreCase | RegexOptions.Compiled), //Supports Season only releases