diff options
| author | Luke <luke.pulverenti@gmail.com> | 2015-12-01 22:35:54 -0500 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2015-12-01 22:35:54 -0500 |
| commit | ee3212d39db6ad75b19d470a6959f122cec939e6 (patch) | |
| tree | 3058d466307987881e66009c2a3c878cfcaccbe7 /MediaBrowser.Controller/IO/FileData.cs | |
| parent | 93817bdb7bc8ffcdb854b3e5d47ac63228f881c1 (diff) | |
| parent | 10f9aaaee4d811578a1dc534adec7a6c1cd5cf1c (diff) | |
Merge pull request #1295 from MediaBrowser/master
merge from master
Diffstat (limited to 'MediaBrowser.Controller/IO/FileData.cs')
| -rw-r--r-- | MediaBrowser.Controller/IO/FileData.cs | 43 |
1 files changed, 25 insertions, 18 deletions
diff --git a/MediaBrowser.Controller/IO/FileData.cs b/MediaBrowser.Controller/IO/FileData.cs index e2bdb28e3..ed5acbb3d 100644 --- a/MediaBrowser.Controller/IO/FileData.cs +++ b/MediaBrowser.Controller/IO/FileData.cs @@ -26,12 +26,12 @@ namespace MediaBrowser.Controller.IO /// <param name="resolveShortcuts">if set to <c>true</c> [resolve shortcuts].</param> /// <returns>Dictionary{System.StringFileSystemInfo}.</returns> /// <exception cref="System.ArgumentNullException">path</exception> - public static Dictionary<string, FileSystemMetadata> GetFilteredFileSystemEntries(IDirectoryService directoryService, - string path, - IFileSystem fileSystem, - ILogger logger, - ItemResolveArgs args, - int flattenFolderDepth = 0, + public static Dictionary<string, FileSystemMetadata> GetFilteredFileSystemEntries(IDirectoryService directoryService, + string path, + IFileSystem fileSystem, + ILogger logger, + ItemResolveArgs args, + int flattenFolderDepth = 0, bool resolveShortcuts = true) { if (string.IsNullOrEmpty(path)) @@ -60,22 +60,29 @@ namespace MediaBrowser.Controller.IO if (resolveShortcuts && fileSystem.IsShortcut(fullName)) { - var newPath = fileSystem.ResolveShortcut(fullName); - - if (string.IsNullOrWhiteSpace(newPath)) + try { - //invalid shortcut - could be old or target could just be unavailable - logger.Warn("Encountered invalid shortcut: " + fullName); - continue; - } + var newPath = fileSystem.ResolveShortcut(fullName); + + if (string.IsNullOrWhiteSpace(newPath)) + { + //invalid shortcut - could be old or target could just be unavailable + logger.Warn("Encountered invalid shortcut: " + fullName); + continue; + } - // Don't check if it exists here because that could return false for network shares. - var data = fileSystem.GetDirectoryInfo(newPath); + // Don't check if it exists here because that could return false for network shares. + var data = fileSystem.GetDirectoryInfo(newPath); - // add to our physical locations - args.AddAdditionalLocation(newPath); + // add to our physical locations + args.AddAdditionalLocation(newPath); - dict[newPath] = data; + dict[newPath] = data; + } + catch (Exception ex) + { + logger.ErrorException("Error resolving shortcut from {0}", ex, fullName); + } } else if (flattenFolderDepth > 0 && isDirectory) { |
