diff options
| author | Luke <luke.pulverenti@gmail.com> | 2017-11-20 13:02:59 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-11-20 13:02:59 -0500 |
| commit | 8f78652398ad4e9e9af53a1bd065afe4b9d9260e (patch) | |
| tree | 32bc4144212d7f6ee3941c9c2471b56ab9c5d3e2 /Emby.Server.Implementations/IO/SharpCifsFileSystem.cs | |
| parent | 7d15b140cfe4f761e03f661f82cf946f327863f5 (diff) | |
| parent | 71ff88284be60fb39a7389e0c4990c94f2207ed4 (diff) | |
Merge pull request #3032 from MediaBrowser/beta
Beta
Diffstat (limited to 'Emby.Server.Implementations/IO/SharpCifsFileSystem.cs')
| -rw-r--r-- | Emby.Server.Implementations/IO/SharpCifsFileSystem.cs | 42 |
1 files changed, 31 insertions, 11 deletions
diff --git a/Emby.Server.Implementations/IO/SharpCifsFileSystem.cs b/Emby.Server.Implementations/IO/SharpCifsFileSystem.cs index 1d21796b1..0e1f6bb00 100644 --- a/Emby.Server.Implementations/IO/SharpCifsFileSystem.cs +++ b/Emby.Server.Implementations/IO/SharpCifsFileSystem.cs @@ -487,14 +487,17 @@ namespace Emby.Server.Implementations.IO AssertDirectoryExists(dir, path); var list = ListFiles(dir, recursive); + var result = new List<FileSystemMetadata>(); foreach (var file in list) { if (file.IsDirectory()) { - yield return ToMetadata(file); + result.Add(ToMetadata(file)); } } + + return result; } public IEnumerable<FileSystemMetadata> GetFiles(string path, string[] extensions, bool enableCaseSensitiveExtensions, bool recursive = false) @@ -503,6 +506,7 @@ namespace Emby.Server.Implementations.IO AssertDirectoryExists(dir, path); var list = ListFiles(dir, recursive); + var result = new List<FileSystemMetadata>(); foreach (var file in list) { @@ -513,10 +517,12 @@ namespace Emby.Server.Implementations.IO if (extensions == null || extensions.Length == 0 || extensions.Contains(extension ?? string.Empty, StringComparer.OrdinalIgnoreCase)) { - yield return ToMetadata(file); + result.Add(ToMetadata(file)); } } } + + return result; } public IEnumerable<FileSystemMetadata> GetFileSystemEntries(string path, bool recursive = false) @@ -525,15 +531,19 @@ namespace Emby.Server.Implementations.IO AssertDirectoryExists(dir, path); var list = ListFiles(dir, recursive); + var result = new List<FileSystemMetadata>(); foreach (var file in list) { - yield return ToMetadata(file); + result.Add(ToMetadata(file)); } + + return result; } - public IEnumerable<string> GetFileSystemEntryPaths(string path, bool recursive = false) + public List<string> GetFileSystemEntryPaths(string path, bool recursive = false) { + var result = new List<string>(); var dir = CreateSmbDirectoryForListFiles(path); AssertDirectoryExists(dir, path); @@ -541,16 +551,18 @@ namespace Emby.Server.Implementations.IO foreach (var file in list) { - yield return GetReturnPath(file); + result.Add(GetReturnPath(file)); } + return result; } - public IEnumerable<string> GetFilePaths(string path, string[] extensions, bool enableCaseSensitiveExtensions, bool recursive = false) + public List<string> GetFilePaths(string path, string[] extensions, bool enableCaseSensitiveExtensions, bool recursive = false) { var dir = CreateSmbDirectoryForListFiles(path); AssertDirectoryExists(dir, path); var list = ListFiles(dir, recursive); + var result = new List<string>(); foreach (var file in list) { @@ -561,44 +573,52 @@ namespace Emby.Server.Implementations.IO if (extensions == null || extensions.Length == 0 || extensions.Contains(extension ?? string.Empty, StringComparer.OrdinalIgnoreCase)) { - yield return filePath; + result.Add(filePath); } } } + + return result; } - public IEnumerable<string> GetDirectoryPaths(string path, bool recursive = false) + public List<string> GetDirectoryPaths(string path, bool recursive = false) { var dir = CreateSmbDirectoryForListFiles(path); AssertDirectoryExists(dir, path); var list = ListFiles(dir, recursive); + var result = new List<string>(); foreach (var file in list) { if (file.IsDirectory()) { - yield return GetReturnPath(file); + result.Add(GetReturnPath(file)); } } + + return result; } private IEnumerable<SmbFile> ListFiles(SmbFile dir, bool recursive) { var list = dir.ListFiles(); + var result = new List<SmbFile>(); foreach (var file in list) { - yield return file; + result.Add(file); if (recursive && file.IsDirectory()) { foreach (var subFile in ListFiles(file, recursive)) { - yield return subFile; + result.Add(subFile); } } } + + return result; } } } |
