diff --git a/MediaBrowser.Api/EnvironmentService.cs b/MediaBrowser.Api/EnvironmentService.cs
index 6bcef4d077..9d11178c84 100644
--- a/MediaBrowser.Api/EnvironmentService.cs
+++ b/MediaBrowser.Api/EnvironmentService.cs
@@ -205,7 +205,7 @@ namespace MediaBrowser.Api
/// IEnumerable{FileSystemEntryInfo}.
private IEnumerable GetFileSystemEntries(GetDirectoryContents request)
{
- var entries = new DirectoryInfo(request.Path).EnumerateFileSystemInfos("*", SearchOption.TopDirectoryOnly).Where(i =>
+ var entries = new DirectoryInfo(request.Path).EnumerateFileSystemInfos().Where(i =>
{
if (i.Attributes.HasFlag(FileAttributes.System))
{
diff --git a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs
index 91552d7e5d..6f4eae58cc 100644
--- a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs
+++ b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs
@@ -200,7 +200,7 @@ namespace MediaBrowser.Api.Playback.Hls
var directory = Path.GetDirectoryName(outputFilePath);
var name = Path.GetFileNameWithoutExtension(outputFilePath);
- var filesToDelete = Directory.EnumerateFiles(directory, "*", SearchOption.TopDirectoryOnly)
+ var filesToDelete = Directory.EnumerateFiles(directory)
.Where(f => f.IndexOf(name, StringComparison.OrdinalIgnoreCase) != -1)
.ToList();
diff --git a/MediaBrowser.Controller/Drawing/ImageManager.cs b/MediaBrowser.Controller/Drawing/ImageManager.cs
index d901d4a943..3bcd82d88b 100644
--- a/MediaBrowser.Controller/Drawing/ImageManager.cs
+++ b/MediaBrowser.Controller/Drawing/ImageManager.cs
@@ -428,7 +428,7 @@ namespace MediaBrowser.Controller.Drawing
var metaFileEntry = item.ResolveArgs.GetMetaFileByPath(imagePath);
// If we didn't the metafile entry, check the Season
- if (!metaFileEntry.HasValue)
+ if (metaFileEntry == null)
{
var episode = item as Episode;
@@ -439,7 +439,7 @@ namespace MediaBrowser.Controller.Drawing
}
// See if we can avoid a file system lookup by looking for the file in ResolveArgs
- return metaFileEntry == null ? File.GetLastWriteTimeUtc(imagePath) : metaFileEntry.Value.LastWriteTimeUtc;
+ return metaFileEntry == null ? File.GetLastWriteTimeUtc(imagePath) : metaFileEntry.LastWriteTimeUtc;
}
///
diff --git a/MediaBrowser.Controller/Dto/DtoBuilder.cs b/MediaBrowser.Controller/Dto/DtoBuilder.cs
index 93f5ba8cc8..7af9cb496c 100644
--- a/MediaBrowser.Controller/Dto/DtoBuilder.cs
+++ b/MediaBrowser.Controller/Dto/DtoBuilder.cs
@@ -212,7 +212,7 @@ namespace MediaBrowser.Controller.Dto
var metaFileEntry = item.ResolveArgs.GetMetaFileByPath(path);
// See if we can avoid a file system lookup by looking for the file in ResolveArgs
- var dateModified = metaFileEntry == null ? File.GetLastWriteTimeUtc(path) : metaFileEntry.Value.LastWriteTimeUtc;
+ var dateModified = metaFileEntry == null ? File.GetLastWriteTimeUtc(path) : metaFileEntry.LastWriteTimeUtc;
ImageSize size;
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index c93923ab95..805cb7bdfa 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -244,13 +244,13 @@ namespace MediaBrowser.Controller.Entities
// Record the name of each file
// Need to sort these because accoring to msdn docs, our i/o methods are not guaranteed in any order
- foreach (var file in ResolveArgs.FileSystemChildren.OrderBy(f => f.cFileName))
+ foreach (var file in ResolveArgs.FileSystemChildren.OrderBy(f => f.Name))
{
- sb.Append(file.cFileName);
+ sb.Append(file.Name);
}
- foreach (var file in ResolveArgs.MetadataFiles.OrderBy(f => f.cFileName))
+ foreach (var file in ResolveArgs.MetadataFiles.OrderBy(f => f.Name))
{
- sb.Append(file.cFileName);
+ sb.Append(file.Name);
}
return sb.ToString().GetMD5();
@@ -307,7 +307,7 @@ namespace MediaBrowser.Controller.Entities
/// Resets the resolve args.
///
/// The path info.
- public void ResetResolveArgs(WIN32_FIND_DATA? pathInfo)
+ public void ResetResolveArgs(FileSystemInfo pathInfo)
{
ResolveArgs = CreateResolveArgs(pathInfo);
}
@@ -318,17 +318,14 @@ namespace MediaBrowser.Controller.Entities
/// The path info.
/// ItemResolveArgs.
/// Unable to retrieve file system info for + path
- protected internal virtual ItemResolveArgs CreateResolveArgs(WIN32_FIND_DATA? pathInfo = null)
+ protected internal virtual ItemResolveArgs CreateResolveArgs(FileSystemInfo pathInfo = null)
{
var path = Path;
// non file-system entries will not have a path
if (LocationType != LocationType.FileSystem || string.IsNullOrEmpty(path))
{
- return new ItemResolveArgs(ConfigurationManager.ApplicationPaths)
- {
- FileInfo = new WIN32_FIND_DATA()
- };
+ return new ItemResolveArgs(ConfigurationManager.ApplicationPaths);
}
if (UseParentPathToCreateResolveArgs)
@@ -336,16 +333,16 @@ namespace MediaBrowser.Controller.Entities
path = System.IO.Path.GetDirectoryName(path);
}
- pathInfo = pathInfo ?? FileSystem.GetFileData(path);
+ pathInfo = pathInfo ?? FileSystem.GetFileSystemInfo(path);
- if (!pathInfo.HasValue)
+ if (pathInfo == null || !pathInfo.Exists)
{
throw new IOException("Unable to retrieve file system info for " + path);
}
var args = new ItemResolveArgs(ConfigurationManager.ApplicationPaths)
{
- FileInfo = pathInfo.Value,
+ FileInfo = pathInfo,
Path = path,
Parent = Parent
};
@@ -735,11 +732,11 @@ namespace MediaBrowser.Controller.Entities
return new List();
}
- IEnumerable files;
+ IEnumerable files;
try
{
- files = FileSystem.GetFiles(folder.Value.Path);
+ files = new DirectoryInfo(folder.FullName).EnumerateFiles();
}
catch (IOException ex)
{
@@ -793,11 +790,11 @@ namespace MediaBrowser.Controller.Entities
return new List();
}
- IEnumerable files;
+ IEnumerable files;
try
{
- files = FileSystem.GetFiles(folder.Value.Path);
+ files = new DirectoryInfo(folder.FullName).EnumerateFiles();
}
catch (IOException ex)
{
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index 3a8c8eec10..a22daab227 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -768,7 +768,7 @@ namespace MediaBrowser.Controller.Entities
/// IEnumerable{BaseItem}.
protected virtual IEnumerable GetNonCachedChildren()
{
- IEnumerable fileSystemChildren;
+ IEnumerable fileSystemChildren;
try
{
diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs
index b70ac2b3b8..893d2d0e08 100644
--- a/MediaBrowser.Controller/Entities/Movies/Movie.cs
+++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs
@@ -115,7 +115,7 @@ namespace MediaBrowser.Controller.Entities.Movies
/// IEnumerable{Video}.
private IEnumerable