diff --git a/Emby.Server.Implementations/Library/ResolverHelper.cs b/Emby.Server.Implementations/Library/ResolverHelper.cs index 52be76217e..c9e3a4daf8 100644 --- a/Emby.Server.Implementations/Library/ResolverHelper.cs +++ b/Emby.Server.Implementations/Library/ResolverHelper.cs @@ -39,7 +39,7 @@ namespace Emby.Server.Implementations.Library item.GetParents().Any(i => i.IsLocked); // Make sure DateCreated and DateModified have values - var fileInfo = directoryService.GetFile(item.Path); + var fileInfo = directoryService.GetFileSystemEntry(item.Path); if (fileInfo is null) { return false; diff --git a/MediaBrowser.Controller/Providers/DirectoryService.cs b/MediaBrowser.Controller/Providers/DirectoryService.cs index 56b07ebae7..5ab1e27987 100644 --- a/MediaBrowser.Controller/Providers/DirectoryService.cs +++ b/MediaBrowser.Controller/Providers/DirectoryService.cs @@ -61,10 +61,22 @@ namespace MediaBrowser.Controller.Providers } public FileSystemMetadata? GetFile(string path) + { + var entry = GetFileSystemEntry(path); + return entry != null && !entry.IsDirectory ? entry : null; + } + + public FileSystemMetadata? GetDirectory(string path) + { + var entry = GetFileSystemEntry(path); + return entry != null && entry.IsDirectory ? entry : null; + } + + public FileSystemMetadata? GetFileSystemEntry(string path) { if (!_fileCache.TryGetValue(path, out var result)) { - var file = _fileSystem.GetFileInfo(path); + var file = _fileSystem.GetFileSystemInfo(path); if (file.Exists) { result = file; diff --git a/MediaBrowser.Controller/Providers/IDirectoryService.cs b/MediaBrowser.Controller/Providers/IDirectoryService.cs index a3c06cde53..1babf73af8 100644 --- a/MediaBrowser.Controller/Providers/IDirectoryService.cs +++ b/MediaBrowser.Controller/Providers/IDirectoryService.cs @@ -15,6 +15,10 @@ namespace MediaBrowser.Controller.Providers FileSystemMetadata? GetFile(string path); + FileSystemMetadata? GetDirectory(string path); + + FileSystemMetadata? GetFileSystemEntry(string path); + IReadOnlyList GetFilePaths(string path); IReadOnlyList GetFilePaths(string path, bool clearCache, bool sort = false);