aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library
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.Server.Implementations/Library
parent90bb3d46c416676105d5cf89d12279b3f7ccb944 (diff)
fixes #200 - MB3 Locking Folders for a long time
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library')
-rw-r--r--MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs26
-rw-r--r--MediaBrowser.Server.Implementations/Library/ResolverHelper.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs8
-rw-r--r--MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs10
6 files changed, 25 insertions, 25 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs b/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs
index 04c247f7e..cb49dd1e6 100644
--- a/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs
+++ b/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs
@@ -47,7 +47,7 @@ namespace MediaBrowser.Server.Implementations.Library
if (args.IsDirectory)
{
- var filename = args.FileInfo.cFileName;
+ var filename = args.FileInfo.Name;
// Ignore any folders in our list
if (IgnoreFolders.Contains(filename, StringComparer.OrdinalIgnoreCase))
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index 5f07e0d87..ceb4f90cf 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -403,16 +403,16 @@ namespace MediaBrowser.Server.Implementations.Library
/// <param name="fileInfo">The file info.</param>
/// <returns>BaseItem.</returns>
/// <exception cref="System.ArgumentNullException"></exception>
- public BaseItem ResolvePath(string path, Folder parent = null, WIN32_FIND_DATA? fileInfo = null)
+ public BaseItem ResolvePath(string path, Folder parent = null, FileSystemInfo fileInfo = null)
{
if (string.IsNullOrEmpty(path))
{
throw new ArgumentNullException();
}
- fileInfo = fileInfo ?? FileSystem.GetFileData(path);
+ fileInfo = fileInfo ?? FileSystem.GetFileSystemInfo(path);
- if (!fileInfo.HasValue)
+ if (!fileInfo.Exists)
{
return null;
}
@@ -421,7 +421,7 @@ namespace MediaBrowser.Server.Implementations.Library
{
Parent = parent,
Path = path,
- FileInfo = fileInfo.Value
+ FileInfo = fileInfo
};
// Return null if ignore rules deem that we should do so
@@ -468,7 +468,7 @@ namespace MediaBrowser.Server.Implementations.Library
/// <param name="files">The files.</param>
/// <param name="parent">The parent.</param>
/// <returns>List{``0}.</returns>
- public List<T> ResolvePaths<T>(IEnumerable<WIN32_FIND_DATA> files, Folder parent)
+ public List<T> ResolvePaths<T>(IEnumerable<FileSystemInfo> files, Folder parent)
where T : BaseItem
{
var list = new List<T>();
@@ -477,7 +477,7 @@ namespace MediaBrowser.Server.Implementations.Library
{
try
{
- var item = ResolvePath(f.Path, parent, f) as T;
+ var item = ResolvePath(f.FullName, parent, f) as T;
if (item != null)
{
@@ -489,7 +489,7 @@ namespace MediaBrowser.Server.Implementations.Library
}
catch (Exception ex)
{
- _logger.ErrorException("Error resolving path {0}", ex, f.Path);
+ _logger.ErrorException("Error resolving path {0}", ex, f.FullName);
}
});
@@ -680,16 +680,16 @@ namespace MediaBrowser.Server.Implementations.Library
path = Path.Combine(path, FileSystem.GetValidFilename(name));
- var fileInfo = FileSystem.GetFileData(path);
+ var fileInfo = new DirectoryInfo(path);
var isNew = false;
- if (!fileInfo.HasValue)
+ if (!fileInfo.Exists)
{
Directory.CreateDirectory(path);
- fileInfo = FileSystem.GetFileData(path);
+ fileInfo = new DirectoryInfo(path);
- if (!fileInfo.HasValue)
+ if (!fileInfo.Exists)
{
throw new IOException("Path not created: " + path);
}
@@ -708,8 +708,8 @@ namespace MediaBrowser.Server.Implementations.Library
{
Name = name,
Id = id,
- DateCreated = fileInfo.Value.CreationTimeUtc,
- DateModified = fileInfo.Value.LastWriteTimeUtc,
+ DateCreated = fileInfo.CreationTimeUtc,
+ DateModified = fileInfo.LastWriteTimeUtc,
Path = path
};
isNew = true;
diff --git a/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs b/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs
index f4e34ba62..18604fa9e 100644
--- a/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs
+++ b/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs
@@ -53,7 +53,7 @@ namespace MediaBrowser.Server.Implementations.Library
if (string.IsNullOrEmpty(item.Name) && !string.IsNullOrEmpty(item.Path))
{
//we use our resolve args name here to get the name of the containg folder, not actual video file
- item.Name = GetMBName(item.ResolveArgs.FileInfo.cFileName, item.ResolveArgs.FileInfo.IsDirectory);
+ item.Name = GetMBName(item.ResolveArgs.FileInfo.Name, item.ResolveArgs.FileInfo.Attributes.HasFlag(FileAttributes.Directory));
}
}
diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs
index 7d3dab1b1..f24d23208 100644
--- a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs
+++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs
@@ -49,7 +49,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio
// If list contains at least 2 audio files or at least one and no video files consider it to contain music
var foundAudio = 0;
- foreach (var fullName in new DirectoryInfo(path).EnumerateFiles("*", SearchOption.TopDirectoryOnly).Select(file => file.FullName))
+ foreach (var fullName in new DirectoryInfo(path).EnumerateFiles().Select(file => file.FullName))
{
if (AudioResolver.IsAudioFile(fullName)) foundAudio++;
if (foundAudio >= 2)
@@ -86,19 +86,19 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio
/// </summary>
/// <param name="list">The list.</param>
/// <returns><c>true</c> if the specified list contains music; otherwise, <c>false</c>.</returns>
- public static bool ContainsMusic(IEnumerable<WIN32_FIND_DATA> list)
+ public static bool ContainsMusic(IEnumerable<FileSystemInfo> list)
{
// If list contains at least 2 audio files or at least one and no video files consider it to contain music
var foundAudio = 0;
foreach (var file in list)
{
- if (AudioResolver.IsAudioFile(file.Path)) foundAudio++;
+ if (AudioResolver.IsAudioFile(file.FullName)) foundAudio++;
if (foundAudio >= 2)
{
return true;
}
- if (EntityResolutionHelper.IsVideoFile(file.Path)) return false;
+ if (EntityResolutionHelper.IsVideoFile(file.FullName)) return false;
}
// or a single audio file and no video files
diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs
index 7ba6df68c..ffb967fc1 100644
--- a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs
+++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs
@@ -33,7 +33,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio
if (args.Parent.IsRoot) return null;
// If we contain an album assume we are an artist folder
- return args.FileSystemChildren.Any(i => MusicAlbumResolver.IsMusicAlbum(i.Path)) ? new MusicArtist() : null;
+ return args.FileSystemChildren.Any(i => MusicAlbumResolver.IsMusicAlbum(i.FullName)) ? new MusicArtist() : null;
}
}
diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs
index 61ca82f95..7e077d4d7 100644
--- a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs
+++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs
@@ -127,9 +127,9 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies
// Loop through each child file/folder and see if we find a video
foreach (var child in args.FileSystemChildren)
{
- if (child.IsDirectory)
+ if (child.Attributes.HasFlag(FileAttributes.Directory))
{
- if (IsDvdDirectory(child.cFileName))
+ if (IsDvdDirectory(child.Name))
{
return new Movie
{
@@ -137,7 +137,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies
VideoType = VideoType.Dvd
};
}
- if (IsBluRayDirectory(child.cFileName))
+ if (IsBluRayDirectory(child.Name))
{
return new Movie
{
@@ -145,7 +145,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies
VideoType = VideoType.BluRay
};
}
- if (IsHdDvdDirectory(child.cFileName))
+ if (IsHdDvdDirectory(child.Name))
{
return new Movie
{
@@ -160,7 +160,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies
var childArgs = new ItemResolveArgs(ApplicationPaths)
{
FileInfo = child,
- Path = child.Path
+ Path = child.FullName
};
var item = base.Resolve(childArgs);