fixed issue preventing drive contents from being read

This commit is contained in:
Luke Pulverenti 2013-05-26 21:24:07 -04:00
parent 82ce0e17e9
commit 826c749774
3 changed files with 8 additions and 18 deletions

View File

@ -391,8 +391,10 @@ namespace MediaBrowser.Controller.Entities
{
var paths = args.FileSystemDictionary.Keys.ToList();
foreach (var subPath in paths.Where(subPath => paths.Any(i => subPath.StartsWith(i.TrimEnd(System.IO.Path.DirectorySeparatorChar) + System.IO.Path.DirectorySeparatorChar, StringComparison.OrdinalIgnoreCase))))
foreach (var subPath in paths
.Where(subPath => !subPath.EndsWith(":\\", StringComparison.OrdinalIgnoreCase) && paths.Any(i => subPath.StartsWith(i.TrimEnd(System.IO.Path.DirectorySeparatorChar) + System.IO.Path.DirectorySeparatorChar, StringComparison.OrdinalIgnoreCase))))
{
Logger.Info("Ignoring duplicate path: {0}", subPath);
args.FileSystemDictionary.Remove(subPath);
}
}

View File

@ -3,7 +3,6 @@ using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace MediaBrowser.Controller.IO
{
@ -41,28 +40,17 @@ namespace MediaBrowser.Controller.IO
if (resolveShortcuts && FileSystem.IsShortcut(entry.FullName))
{
var newPath = FileSystem.ResolveShortcut(entry.FullName);
if (string.IsNullOrWhiteSpace(newPath))
{
//invalid shortcut - could be old or target could just be unavailable
logger.Warn("Encountered invalid shortuct: " + entry.FullName);
logger.Warn("Encountered invalid shortcut: " + entry.FullName);
continue;
}
var data = FileSystem.GetFileSystemInfo(newPath);
if (data.Exists)
{
// Find out if the shortcut is pointing to a directory or file
if (data.Attributes.HasFlag(FileAttributes.Directory))
{
// add to our physical locations
if (args != null)
{
args.AddAdditionalLocation(newPath);
}
}
dict[data.FullName] = data;
}
dict[data.FullName] = data;
}
else if (flattenFolderDepth > 0 && isDirectory)
{

View File

@ -34,7 +34,7 @@ namespace MediaBrowser.Controller.IO
{
var fileInfo = new DirectoryInfo(path);
if (fileInfo.Exists)
if (fileInfo.Exists || path.EndsWith(":\\", StringComparison.OrdinalIgnoreCase))
{
return fileInfo;
}