Moved filename only piece to Parser.

Added .mp4 to media file extensions.
.mp4 will be treated as TV quality.
This commit is contained in:
Mark McDowall 2011-04-30 16:25:35 -07:00
parent 5e0427f927
commit d4ef96f97b
2 changed files with 5 additions and 12 deletions

View File

@ -26,14 +26,6 @@ namespace NzbDrone.Core
RegexOptions.IgnoreCase | RegexOptions.Compiled) //Supports Season only releases RegexOptions.IgnoreCase | RegexOptions.Compiled) //Supports Season only releases
}; };
private static readonly Regex[] SeasonReportTitleRegex = new[]
{
new Regex(
@"(?<title>.+?)?\W?(?<year>\d{4}?)?\W(?:S|Season)?\W?(?<season>\d+)(?!\\)",
RegexOptions.IgnoreCase |
RegexOptions.Compiled),
};
private static readonly Regex NormalizeRegex = new Regex(@"((^|\W)(a|an|the|and|or|of)($|\W))|\W|\b(?!(?:19\d{2}|20\d{2}))\d+\b", private static readonly Regex NormalizeRegex = new Regex(@"((^|\W)(a|an|the|and|or|of)($|\W))|\W|\b(?!(?:19\d{2}|20\d{2}))\d+\b",
RegexOptions.IgnoreCase | RegexOptions.Compiled); RegexOptions.IgnoreCase | RegexOptions.Compiled);
@ -50,7 +42,8 @@ namespace NzbDrone.Core
{ {
var simpleTitle = Regex.Replace(title, @"480[i|p]|720[i|p]|1080[i|p]|[x|h]264", String.Empty, RegexOptions.IgnoreCase | RegexOptions.Compiled); var simpleTitle = Regex.Replace(title, @"480[i|p]|720[i|p]|1080[i|p]|[x|h]264", String.Empty, RegexOptions.IgnoreCase | RegexOptions.Compiled);
var match = regex.Matches(simpleTitle); //Use only the filename, not the entire path
var match = regex.Matches(new FileInfo(simpleTitle).Name);
if (match.Count != 0) if (match.Count != 0)
{ {
@ -250,6 +243,7 @@ namespace NzbDrone.Core
case ".avi": case ".avi":
case ".xvid": case ".xvid":
case ".wmv": case ".wmv":
case ".mp4":
{ {
result = QualityTypes.TV; result = QualityTypes.TV;
break; break;

View File

@ -12,7 +12,7 @@ namespace NzbDrone.Core.Providers
public class MediaFileProvider public class MediaFileProvider
{ {
private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private static readonly string[] MediaExtentions = new[] { "*.mkv", "*.avi", "*.wmv" }; private static readonly string[] MediaExtentions = new[] { "*.mkv", "*.avi", "*.wmv", "*.mp4" };
private readonly DiskProvider _diskProvider; private readonly DiskProvider _diskProvider;
private readonly EpisodeProvider _episodeProvider; private readonly EpisodeProvider _episodeProvider;
private readonly IRepository _repository; private readonly IRepository _repository;
@ -82,8 +82,7 @@ namespace NzbDrone.Core.Providers
if (!_repository.Exists<EpisodeFile>(e => e.Path == Parser.NormalizePath(filePath))) if (!_repository.Exists<EpisodeFile>(e => e.Path == Parser.NormalizePath(filePath)))
{ {
//Use only the filename, not the entire path var parseResult = Parser.ParseEpisodeInfo(filePath);
var parseResult = Parser.ParseEpisodeInfo(new FileInfo(filePath).Name);
if (parseResult == null) if (parseResult == null)
return null; return null;