diff options
| author | Eric Reed <ebr@mediabrowser3.com> | 2013-06-20 12:19:55 -0400 |
|---|---|---|
| committer | Eric Reed <ebr@mediabrowser3.com> | 2013-06-20 12:19:55 -0400 |
| commit | a8d070d07bc59979eb6531bf56c1bbdb0e6a9df3 (patch) | |
| tree | 2a7fa8357c63397e95df0a072cea5e3d6564c15b /MediaBrowser.Controller | |
| parent | b02287c0dd6d2f58b4559ae05a9972665ea13521 (diff) | |
| parent | 6f15aeccd0946f19145cc063a8982d585b77df91 (diff) | |
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Drawing/ImageExtensions.cs | 10 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Dto/DtoBuilder.cs | 1 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 7 | ||||
| -rw-r--r-- | MediaBrowser.Controller/IO/FileData.cs | 24 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Library/ItemResolveArgs.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Library/TVUtils.cs | 8 |
6 files changed, 27 insertions, 25 deletions
diff --git a/MediaBrowser.Controller/Drawing/ImageExtensions.cs b/MediaBrowser.Controller/Drawing/ImageExtensions.cs index 847c5dbe0..3d3b947a0 100644 --- a/MediaBrowser.Controller/Drawing/ImageExtensions.cs +++ b/MediaBrowser.Controller/Drawing/ImageExtensions.cs @@ -73,23 +73,23 @@ namespace MediaBrowser.Controller.Drawing { // http://msdn.microsoft.com/en-us/library/system.drawing.graphics.fromimage.aspx - if (format == PixelFormat.Indexed) + if ((format & PixelFormat.Indexed) == PixelFormat.Indexed) { return false; } - if (format == PixelFormat.Undefined) + if ((format & PixelFormat.Undefined) == PixelFormat.Undefined) { return false; } - if (format == PixelFormat.DontCare) + if ((format & PixelFormat.DontCare) == PixelFormat.DontCare) { return false; } - if (format == PixelFormat.Format16bppArgb1555) + if ((format & PixelFormat.Format16bppArgb1555) == PixelFormat.Format16bppArgb1555) { return false; } - if (format == PixelFormat.Format16bppGrayScale) + if ((format & PixelFormat.Format16bppGrayScale) == PixelFormat.Format16bppGrayScale) { return false; } diff --git a/MediaBrowser.Controller/Dto/DtoBuilder.cs b/MediaBrowser.Controller/Dto/DtoBuilder.cs index 11cf5b152..05092ca2d 100644 --- a/MediaBrowser.Controller/Dto/DtoBuilder.cs +++ b/MediaBrowser.Controller/Dto/DtoBuilder.cs @@ -238,7 +238,6 @@ namespace MediaBrowser.Controller.Dto if (fields.Contains(ItemFields.MetadataSettings)) { dto.LockedFields = item.LockedFields; - dto.LockedImages = item.LockedImages; dto.EnableInternetProviders = !item.DontFetchMeta; } diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index bd2f5ef71..cfabbbadb 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -41,7 +41,6 @@ namespace MediaBrowser.Controller.Entities ThemeVideoIds = new List<Guid>(); LocalTrailerIds = new List<Guid>(); LockedFields = new List<MetadataFields>(); - LockedImages = new List<ImageType>(); } /// <summary> @@ -167,12 +166,6 @@ namespace MediaBrowser.Controller.Entities public List<MetadataFields> LockedFields { get; set; } /// <summary> - /// Gets or sets the locked images. - /// </summary> - /// <value>The locked images.</value> - public List<ImageType> LockedImages { get; set; } - - /// <summary> /// Determines whether the item has a saved local image of the specified name (jpg or png). /// </summary> /// <param name="name">The name.</param> diff --git a/MediaBrowser.Controller/IO/FileData.cs b/MediaBrowser.Controller/IO/FileData.cs index 8896d4fc1..306de1e3c 100644 --- a/MediaBrowser.Controller/IO/FileData.cs +++ b/MediaBrowser.Controller/IO/FileData.cs @@ -3,6 +3,7 @@ using MediaBrowser.Model.Logging; using System; using System.Collections.Generic; using System.IO; +using System.Linq; namespace MediaBrowser.Controller.IO { @@ -29,22 +30,29 @@ namespace MediaBrowser.Controller.IO throw new ArgumentNullException("path"); } - var dict = new Dictionary<string, FileSystemInfo>(StringComparer.OrdinalIgnoreCase); - var entries = new DirectoryInfo(path).EnumerateFileSystemInfos(searchPattern, SearchOption.TopDirectoryOnly); + if (!resolveShortcuts && flattenFolderDepth == 0) + { + return entries.ToDictionary(i => i.FullName, StringComparer.OrdinalIgnoreCase); + } + + var dict = new Dictionary<string, FileSystemInfo>(StringComparer.OrdinalIgnoreCase); + foreach (var entry in entries) { var isDirectory = (entry.Attributes & FileAttributes.Directory) == FileAttributes.Directory; - if (resolveShortcuts && FileSystem.IsShortcut(entry.FullName)) + var fullName = entry.FullName; + + if (resolveShortcuts && FileSystem.IsShortcut(fullName)) { - var newPath = FileSystem.ResolveShortcut(entry.FullName); + var newPath = FileSystem.ResolveShortcut(fullName); if (string.IsNullOrWhiteSpace(newPath)) { //invalid shortcut - could be old or target could just be unavailable - logger.Warn("Encountered invalid shortcut: " + entry.FullName); + logger.Warn("Encountered invalid shortcut: " + fullName); continue; } @@ -57,18 +65,18 @@ namespace MediaBrowser.Controller.IO args.AddAdditionalLocation(newPath); } - dict[data.FullName] = data; + dict[newPath] = data; } else if (flattenFolderDepth > 0 && isDirectory) { - foreach (var child in GetFilteredFileSystemEntries(entry.FullName, logger, flattenFolderDepth: flattenFolderDepth - 1, resolveShortcuts: resolveShortcuts)) + foreach (var child in GetFilteredFileSystemEntries(fullName, logger, flattenFolderDepth: flattenFolderDepth - 1, resolveShortcuts: resolveShortcuts)) { dict[child.Key] = child.Value; } } else { - dict[entry.FullName] = entry; + dict[fullName] = entry; } } diff --git a/MediaBrowser.Controller/Library/ItemResolveArgs.cs b/MediaBrowser.Controller/Library/ItemResolveArgs.cs index 9ca2b6ad5..109ffe7e7 100644 --- a/MediaBrowser.Controller/Library/ItemResolveArgs.cs +++ b/MediaBrowser.Controller/Library/ItemResolveArgs.cs @@ -112,7 +112,7 @@ namespace MediaBrowser.Controller.Library return false; } - var parentDir = System.IO.Path.GetDirectoryName(FileInfo.FullName) ?? string.Empty; + var parentDir = System.IO.Path.GetDirectoryName(Path) ?? string.Empty; return (parentDir.Length > _appPaths.RootFolderPath.Length && parentDir.StartsWith(_appPaths.RootFolderPath, StringComparison.OrdinalIgnoreCase)); diff --git a/MediaBrowser.Controller/Library/TVUtils.cs b/MediaBrowser.Controller/Library/TVUtils.cs index 921bbb808..03df934cf 100644 --- a/MediaBrowser.Controller/Library/TVUtils.cs +++ b/MediaBrowser.Controller/Library/TVUtils.cs @@ -179,7 +179,7 @@ namespace MediaBrowser.Controller.Library private static bool IsSeasonFolder(string path) { // It's a season folder if it's named as such and does not contain any audio files, apart from theme.mp3 - return GetSeasonNumberFromPath(path) != null && !new DirectoryInfo(path).EnumerateFiles().Any(i => EntityResolutionHelper.IsAudioFile(i.FullName) && !string.Equals(Path.GetFileNameWithoutExtension(i.Name), BaseItem.ThemeSongFilename)); + return GetSeasonNumberFromPath(path) != null && !Directory.EnumerateFiles(path).Any(i => EntityResolutionHelper.IsAudioFile(i) && !string.Equals(Path.GetFileNameWithoutExtension(i), BaseItem.ThemeSongFilename)); } /// <summary> @@ -223,7 +223,9 @@ namespace MediaBrowser.Controller.Library } else { - if (EntityResolutionHelper.IsVideoFile(child.FullName) && GetEpisodeNumberFromFile(child.FullName, false).HasValue) + var fullName = child.FullName; + + if (EntityResolutionHelper.IsVideoFile(fullName) && GetEpisodeNumberFromFile(fullName, false).HasValue) { return true; } @@ -275,7 +277,7 @@ namespace MediaBrowser.Controller.Library } private static readonly CultureInfo UsCulture = new CultureInfo("en-US"); - + private static int? ParseEpisodeNumber(string val) { int num; |
