|
|
|
@ -107,6 +107,10 @@ namespace NzbDrone.Core.Parser
|
|
|
|
|
new Regex(@"^(?<title>.*?)(?:(?:_|-|\s|\.)S?(?<season>(?<!\d+)\d{1,2}(?!\d+))(?:(?:\-|[ex]){1,2}(?<episode>\d{1}))+)+(\W+|_|$)(?!\\)",
|
|
|
|
|
RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
|
|
|
|
|
|
|
|
|
//iTunes Season 1\05 Title (Quality).ext
|
|
|
|
|
new Regex(@"^(?:Season(?:_|-|\s|\.)(?<season>(?<!\d+)\d{1,2}(?!\d+)))(?:_|-|\s|\.)(?<episode>(?<!\d+)\d{1,2}(?!\d+))",
|
|
|
|
|
RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
|
|
|
|
|
|
|
|
|
//Anime - Title Absolute Episode Number (e66)
|
|
|
|
|
new Regex(@"^(?:\[(?<subgroup>.+?)\][-_. ]?)?(?<title>.+?)(?:(?:_|-|\s|\.)+(?:e|ep)(?<absoluteepisode>\d{2,3}))+.*?(?<hash>\[\w{8}\])?(?:$|\.)",
|
|
|
|
|
RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
|
|
|
@ -196,14 +200,14 @@ namespace NzbDrone.Core.Parser
|
|
|
|
|
|
|
|
|
|
if (result == null)
|
|
|
|
|
{
|
|
|
|
|
Logger.Debug("Attempting to parse episode info using directory path. {0}", fileInfo.Directory.Name);
|
|
|
|
|
result = ParseTitle(fileInfo.Directory.Name + fileInfo.Extension);
|
|
|
|
|
Logger.Debug("Attempting to parse episode info using directory and file names. {0}", fileInfo.Directory.Name);
|
|
|
|
|
result = ParseTitle(fileInfo.Directory.Name + " " + fileInfo.Name + fileInfo.Extension);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (result == null)
|
|
|
|
|
{
|
|
|
|
|
Logger.Debug("Attempting to parse episode info using full path. {0}", fileInfo.FullName);
|
|
|
|
|
result = ParseTitle(fileInfo.FullName);
|
|
|
|
|
Logger.Debug("Attempting to parse episode info using directory name. {0}", fileInfo.Directory.Name);
|
|
|
|
|
result = ParseTitle(fileInfo.Directory.Name + fileInfo.Extension);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (result == null)
|
|
|
|
|