mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-21 14:03:29 -07:00
initial stage of indexer refactoring. things compile.
This commit is contained in:
parent
7d7b37be5b
commit
9c1ff4af6b
21 changed files with 249 additions and 348 deletions
|
@ -1,6 +1,9 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using NLog;
|
||||
using NzbDrone.Core.Providers.Core;
|
||||
using NzbDrone.Core.Repository;
|
||||
using SubSonic.Repository;
|
||||
|
||||
|
@ -9,10 +12,16 @@ namespace NzbDrone.Core.Providers
|
|||
public class RootDirProvider
|
||||
{
|
||||
private readonly IRepository _sonioRepo;
|
||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||
private readonly DiskProvider _diskProvider;
|
||||
private readonly SeriesProvider _seriesProvider;
|
||||
|
||||
public RootDirProvider(IRepository sonicRepo)
|
||||
|
||||
public RootDirProvider(IRepository sonicRepo, SeriesProvider seriesProvider, DiskProvider diskProvider)
|
||||
{
|
||||
_sonioRepo = sonicRepo;
|
||||
_diskProvider = diskProvider;
|
||||
_seriesProvider = seriesProvider;
|
||||
}
|
||||
|
||||
#region IRootDirProvider
|
||||
|
@ -42,6 +51,33 @@ namespace NzbDrone.Core.Providers
|
|||
return _sonioRepo.Single<RootDir>(rootDirId);
|
||||
}
|
||||
|
||||
public List<String> GetUnmappedFolders(string path)
|
||||
{
|
||||
Logger.Debug("Generating list of unmapped folders");
|
||||
if (String.IsNullOrEmpty(path))
|
||||
throw new ArgumentException("Invalid path provided", "path");
|
||||
|
||||
var results = new List<String>();
|
||||
|
||||
if (!_diskProvider.FolderExists(path))
|
||||
{
|
||||
Logger.Debug("Path supplied does not exist: {0}", path);
|
||||
return results;
|
||||
}
|
||||
|
||||
|
||||
foreach (string seriesFolder in _diskProvider.GetDirectories(path))
|
||||
{
|
||||
var cleanPath = Parser.NormalizePath(new DirectoryInfo(seriesFolder).FullName);
|
||||
|
||||
if (!_seriesProvider.SeriesPathExists(cleanPath))
|
||||
results.Add(cleanPath);
|
||||
}
|
||||
|
||||
Logger.Debug("{0} unmapped folders detected.", results.Count);
|
||||
return results;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue