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