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.Server.Implementations/Library | |
| parent | 90bb3d46c416676105d5cf89d12279b3f7ccb944 (diff) | |
fixes #200 - MB3 Locking Folders for a long time
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library')
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); |
