diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-28 01:29:27 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-28 01:29:27 -0400 |
| commit | b443d591a29bc18daea36a3871908a4c1c277990 (patch) | |
| tree | 9f671e0484c1b42bd5cecfe58a4d7cc3e7a6ddc7 /MediaBrowser.Controller/Entities | |
| parent | 90bb3d46c416676105d5cf89d12279b3f7ccb944 (diff) | |
fixes #200 - MB3 Locking Folders for a long time
Diffstat (limited to 'MediaBrowser.Controller/Entities')
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 31 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/Movies/Movie.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/TV/Season.cs | 7 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/TV/Series.cs | 5 |
5 files changed, 25 insertions, 26 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index c93923ab9..805cb7bdf 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. /// </summary> /// <param name="pathInfo">The path info.</param> - public void ResetResolveArgs(WIN32_FIND_DATA? pathInfo) + public void ResetResolveArgs(FileSystemInfo pathInfo) { ResolveArgs = CreateResolveArgs(pathInfo); } @@ -318,17 +318,14 @@ namespace MediaBrowser.Controller.Entities /// <param name="pathInfo">The path info.</param> /// <returns>ItemResolveArgs.</returns> /// <exception cref="System.IO.IOException">Unable to retrieve file system info for + path</exception> - 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<Trailer>(); } - IEnumerable<WIN32_FIND_DATA> files; + IEnumerable<FileSystemInfo> 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<Audio.Audio>(); } - IEnumerable<WIN32_FIND_DATA> files; + IEnumerable<FileSystemInfo> 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 3a8c8eec1..a22daab22 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -768,7 +768,7 @@ namespace MediaBrowser.Controller.Entities /// <returns>IEnumerable{BaseItem}.</returns> protected virtual IEnumerable<BaseItem> GetNonCachedChildren() { - IEnumerable<WIN32_FIND_DATA> fileSystemChildren; + IEnumerable<FileSystemInfo> fileSystemChildren; try { diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs index b70ac2b3b..893d2d0e0 100644 --- a/MediaBrowser.Controller/Entities/Movies/Movie.cs +++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs @@ -115,7 +115,7 @@ namespace MediaBrowser.Controller.Entities.Movies /// <returns>IEnumerable{Video}.</returns> private IEnumerable<Video> LoadSpecialFeatures() { - WIN32_FIND_DATA? folder; + FileSystemInfo folder; try { @@ -133,11 +133,11 @@ namespace MediaBrowser.Controller.Entities.Movies return new List<Video>(); } - IEnumerable<WIN32_FIND_DATA> files; + IEnumerable<FileSystemInfo> files; try { - files = FileSystem.GetFiles(folder.Value.Path); + files = new DirectoryInfo(folder.FullName).EnumerateFiles(); } catch (IOException ex) { diff --git a/MediaBrowser.Controller/Entities/TV/Season.cs b/MediaBrowser.Controller/Entities/TV/Season.cs index 2f3f7387c..79d608459 100644 --- a/MediaBrowser.Controller/Entities/TV/Season.cs +++ b/MediaBrowser.Controller/Entities/TV/Season.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.IO; using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.IO; using MediaBrowser.Controller.Library; @@ -134,9 +135,9 @@ namespace MediaBrowser.Controller.Entities.TV { var folder = args.GetFileSystemEntryByName("metadata"); - if (folder.HasValue) + if (folder != null) { - args.AddMetadataFiles(FileSystem.GetFiles(folder.Value.Path)); + args.AddMetadataFiles(new DirectoryInfo(folder.FullName).EnumerateFiles()); } } @@ -145,7 +146,7 @@ namespace MediaBrowser.Controller.Entities.TV /// </summary> /// <param name="pathInfo">The path info.</param> /// <returns>ItemResolveArgs.</returns> - protected internal override ItemResolveArgs CreateResolveArgs(WIN32_FIND_DATA? pathInfo = null) + protected internal override ItemResolveArgs CreateResolveArgs(FileSystemInfo pathInfo = null) { var args = base.CreateResolveArgs(pathInfo); diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs index 15b97f694..699ca22b1 100644 --- a/MediaBrowser.Controller/Entities/TV/Series.cs +++ b/MediaBrowser.Controller/Entities/TV/Series.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Common.Extensions; +using System.IO; +using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.IO; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Localization; @@ -68,7 +69,7 @@ namespace MediaBrowser.Controller.Entities.TV /// </summary> /// <param name="pathInfo">The path info.</param> /// <returns>ItemResolveArgs.</returns> - protected internal override ItemResolveArgs CreateResolveArgs(WIN32_FIND_DATA? pathInfo = null) + protected internal override ItemResolveArgs CreateResolveArgs(FileSystemInfo pathInfo = null) { var args = base.CreateResolveArgs(pathInfo); |
