aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Providers
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Providers')
-rw-r--r--MediaBrowser.Controller/Providers/DirectoryService.cs12
-rw-r--r--MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs5
-rw-r--r--MediaBrowser.Controller/Providers/MetadataStatus.cs8
3 files changed, 14 insertions, 11 deletions
diff --git a/MediaBrowser.Controller/Providers/DirectoryService.cs b/MediaBrowser.Controller/Providers/DirectoryService.cs
index 79ffb0d01..d320409f4 100644
--- a/MediaBrowser.Controller/Providers/DirectoryService.cs
+++ b/MediaBrowser.Controller/Providers/DirectoryService.cs
@@ -4,23 +4,26 @@ using System.Collections.Concurrent;
using System.Collections.Generic;
using System.IO;
using System.Linq;
+using MediaBrowser.Common.IO;
namespace MediaBrowser.Controller.Providers
{
public class DirectoryService : IDirectoryService
{
private readonly ILogger _logger;
+ private readonly IFileSystem _fileSystem;
private readonly ConcurrentDictionary<string, Dictionary<string,FileSystemInfo>> _cache =
new ConcurrentDictionary<string, Dictionary<string, FileSystemInfo>>(StringComparer.OrdinalIgnoreCase);
- public DirectoryService(ILogger logger)
+ public DirectoryService(ILogger logger, IFileSystem fileSystem)
{
_logger = logger;
+ _fileSystem = fileSystem;
}
- public DirectoryService()
- : this(new NullLogger())
+ public DirectoryService(IFileSystem fileSystem)
+ : this(new NullLogger(), fileSystem)
{
}
@@ -59,8 +62,7 @@ namespace MediaBrowser.Controller.Providers
try
{
// using EnumerateFileSystemInfos doesn't handle reparse points (symlinks)
- var list = new DirectoryInfo(path).EnumerateDirectories("*", SearchOption.TopDirectoryOnly)
- .Concat<FileSystemInfo>(new DirectoryInfo(path).EnumerateFiles("*", SearchOption.TopDirectoryOnly));
+ var list = _fileSystem.GetFileSystemEntries(path);
// Seeing dupes on some users file system for some reason
foreach (var item in list)
diff --git a/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs b/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs
index dbb7fbfcd..097c613cb 100644
--- a/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs
+++ b/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs
@@ -1,4 +1,5 @@
using System.Linq;
+using MediaBrowser.Common.IO;
namespace MediaBrowser.Controller.Providers
{
@@ -15,8 +16,8 @@ namespace MediaBrowser.Controller.Providers
public bool ForceSave { get; set; }
- public MetadataRefreshOptions()
- : this(new DirectoryService())
+ public MetadataRefreshOptions(IFileSystem fileSystem)
+ : this(new DirectoryService(fileSystem))
{
}
diff --git a/MediaBrowser.Controller/Providers/MetadataStatus.cs b/MediaBrowser.Controller/Providers/MetadataStatus.cs
index 283b9edbc..f395dabf1 100644
--- a/MediaBrowser.Controller/Providers/MetadataStatus.cs
+++ b/MediaBrowser.Controller/Providers/MetadataStatus.cs
@@ -78,9 +78,9 @@ namespace MediaBrowser.Controller.Providers
public bool IsDirty { get; private set; }
- public void SetDateLastMetadataRefresh(DateTime date)
+ public void SetDateLastMetadataRefresh(DateTime? date)
{
- if (date != (DateLastMetadataRefresh ?? DateTime.MinValue))
+ if (date != DateLastMetadataRefresh)
{
IsDirty = true;
}
@@ -88,9 +88,9 @@ namespace MediaBrowser.Controller.Providers
DateLastMetadataRefresh = date;
}
- public void SetDateLastImagesRefresh(DateTime date)
+ public void SetDateLastImagesRefresh(DateTime? date)
{
- if (date != (DateLastImagesRefresh ?? DateTime.MinValue))
+ if (date != DateLastImagesRefresh)
{
IsDirty = true;
}