mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-14 10:47:08 -07:00
Fixed notification issues
Added basic support for file scan Major redactor of ReportTitle/File parsing Updated Ninject/Ninject.MVC Removed dependency from Microsoft.Web.Administration reactored Episode repository structure
This commit is contained in:
parent
41d9b0364f
commit
c8a8fb4d62
57 changed files with 5569 additions and 320 deletions
49
NzbDrone.Core/Providers/MediaFileProvider.cs
Normal file
49
NzbDrone.Core/Providers/MediaFileProvider.cs
Normal file
|
@ -0,0 +1,49 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using NLog;
|
||||
using NzbDrone.Core.Repository;
|
||||
|
||||
namespace NzbDrone.Core.Providers
|
||||
{
|
||||
public class MediaFileProvider : IMediaFileProvider
|
||||
{
|
||||
|
||||
|
||||
private readonly IDiskProvider _diskProvider;
|
||||
private readonly IEpisodeProvider _episodeProvider;
|
||||
|
||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||
private static readonly string[] MediaExtentions = new[] { "*.mkv", "*.avi", "*.wmv" };
|
||||
|
||||
public MediaFileProvider(IDiskProvider diskProvider, IEpisodeProvider episodeProvider)
|
||||
{
|
||||
_diskProvider = diskProvider;
|
||||
_episodeProvider = episodeProvider;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Scans the specified series folder for media files
|
||||
/// </summary>
|
||||
/// <param name="series">The series to be scanned</param>
|
||||
public void Scan(Series series)
|
||||
{
|
||||
var mediaFileList = new List<string>();
|
||||
Logger.Info("Scanning '{0}'", series.Path);
|
||||
foreach (var ext in MediaExtentions)
|
||||
{
|
||||
mediaFileList.AddRange(_diskProvider.GetFiles(series.Path, ext, SearchOption.AllDirectories));
|
||||
}
|
||||
|
||||
Logger.Info("{0} media files were found", mediaFileList.Count);
|
||||
|
||||
foreach (var file in mediaFileList)
|
||||
{
|
||||
var episode = Parser.ParseEpisodeInfo(file);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue