From 1a371276dc92e303eba8445b2ba9c97766a052b2 Mon Sep 17 00:00:00 2001 From: Luis Miguel Almánzar Date: Thu, 3 Jul 2014 00:01:36 -0400 Subject: add multi-episode support for filenames without seasons --- MediaBrowser.Controller/Library/TVUtils.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'MediaBrowser.Controller/Library') diff --git a/MediaBrowser.Controller/Library/TVUtils.cs b/MediaBrowser.Controller/Library/TVUtils.cs index 64f3a3b4b..0681a8cd1 100644 --- a/MediaBrowser.Controller/Library/TVUtils.cs +++ b/MediaBrowser.Controller/Library/TVUtils.cs @@ -98,19 +98,19 @@ namespace MediaBrowser.Controller.Library private static readonly Regex[] EpisodeExpressionsWithoutSeason = { new Regex( - @".*[\\\/](?\d{1,3})\.\w+$", + @".*[\\\/](?\d{1,3})(-(?\d{2,3}))*\.\w+$", RegexOptions.Compiled), // "01.avi" new Regex( - @".*(\\|\/)(?\d{1,2})\s?-\s?[^\\\/]*$", + @".*(\\|\/)(?\d{1,3})(-(?\d{2,3}))*\s?-\s?[^\\\/]*$", RegexOptions.Compiled), // "01 - blah.avi", "01-blah.avi" new Regex( - @".*(\\|\/)(?\d{1,2})\.[^\\\/]+$", + @".*(\\|\/)(?\d{1,3})(-(?\d{2,3}))*\.[^\\\/]+$", RegexOptions.Compiled), // "01.blah.avi" new Regex( - @".*[\\\/][^\\\/]* - (?\d{1,3})[^\\\/]*$", + @".*[\\\/][^\\\/]* - (?\d{1,3})(-(?\d{2,3}))*[^\\\/]*$", RegexOptions.Compiled), // "blah - 01.avi", "blah 2 - 01.avi", "blah - 01 blah.avi", "blah 2 - 01 blah", "blah - 01 - blah.avi", "blah 2 - 01 - blah" }; @@ -284,6 +284,12 @@ namespace MediaBrowser.Controller.Library if (m.Success && !string.IsNullOrEmpty(m.Groups["endingepnumber"].Value)) return ParseEpisodeNumber(m.Groups["endingepnumber"].Value); } + foreach (var r in EpisodeExpressionsWithoutSeason) + { + var m = r.Match(fl); + if (m.Success && !string.IsNullOrEmpty(m.Groups["endingepnumber"].Value)) + return ParseEpisodeNumber(m.Groups["endingepnumber"].Value); + } return null; } -- cgit v1.2.3