diff options
Diffstat (limited to 'MediaBrowser.Controller/Providers')
| -rw-r--r-- | MediaBrowser.Controller/Providers/DirectoryService.cs | 12 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Providers/MetadataStatus.cs | 8 |
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; } |
