GetMediaFile should be alot easier on disk.

This commit is contained in:
kay.one 2011-05-29 20:56:49 -07:00
parent e3ad0b3d6b
commit 6b0aae85ee
1 changed files with 5 additions and 8 deletions

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", "*.mp4" }; 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 SeriesProvider _seriesProvider; private readonly SeriesProvider _seriesProvider;
@ -72,7 +72,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)))
{ {
var parseResult = Parser.ParseEpisodeInfo(filePath); var parseResult = Parser.ParseEpisodeInfo(filePath);
if (parseResult == null) if (parseResult == null)
return null; return null;
@ -199,14 +199,11 @@ namespace NzbDrone.Core.Providers
{ {
Logger.Debug("Scanning '{0}' for episodes", path); Logger.Debug("Scanning '{0}' for episodes", path);
var mediaFileList = new List<string>(); var filesOnDisk = _diskProvider.GetFiles(path, "*.*", SearchOption.AllDirectories);
foreach (var ext in MediaExtentions) var mediaFileList = filesOnDisk.Where(c => MediaExtentions.Contains(Path.GetExtension(c).ToLower())).ToList();
{
mediaFileList.AddRange(_diskProvider.GetFiles(path, ext, SearchOption.AllDirectories));
}
Logger.Trace("{0} media files were found in {1}", mediaFileList.Count, path); Logger.Debug("{0} media files were found in {1}", mediaFileList.Count, path);
return mediaFileList; return mediaFileList;
} }
} }