aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-28 01:29:27 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-28 01:29:27 -0400
commitb443d591a29bc18daea36a3871908a4c1c277990 (patch)
tree9f671e0484c1b42bd5cecfe58a4d7cc3e7a6ddc7 /MediaBrowser.Controller/Entities
parent90bb3d46c416676105d5cf89d12279b3f7ccb944 (diff)
fixes #200 - MB3 Locking Folders for a long time
Diffstat (limited to 'MediaBrowser.Controller/Entities')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs31
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs2
-rw-r--r--MediaBrowser.Controller/Entities/Movies/Movie.cs6
-rw-r--r--MediaBrowser.Controller/Entities/TV/Season.cs7
-rw-r--r--MediaBrowser.Controller/Entities/TV/Series.cs5
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);