diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs | 22 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/LibraryManager.cs | 21 |
2 files changed, 34 insertions, 9 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs b/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs index cebd5e192..04c247f7e 100644 --- a/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs +++ b/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs @@ -1,4 +1,6 @@ -using MediaBrowser.Controller.Library; +using System.IO; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Library; using System; using System.Collections.Generic; using System.Linq; @@ -16,7 +18,6 @@ namespace MediaBrowser.Server.Implementations.Library /// </summary> private static readonly List<string> IgnoreFolders = new List<string> { - "trailers", "metadata", "certificate", "backup", @@ -36,7 +37,12 @@ namespace MediaBrowser.Server.Implementations.Library // Ignore hidden files and folders if (args.IsHidden) { - return true; + var parentFolderName = Path.GetFileName(Path.GetDirectoryName(args.Path)); + + if (!string.Equals(parentFolderName, BaseItem.ThemeSongsFolderName, StringComparison.OrdinalIgnoreCase)) + { + return true; + } } if (args.IsDirectory) @@ -48,6 +54,16 @@ namespace MediaBrowser.Server.Implementations.Library { return true; } + + if (string.Equals(filename, BaseItem.TrailerFolderName, StringComparison.OrdinalIgnoreCase)) + { + return true; + } + + if (string.Equals(filename, BaseItem.ThemeSongsFolderName, StringComparison.OrdinalIgnoreCase)) + { + return true; + } } return false; diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index 132dca4e2..5f07e0d87 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -274,9 +274,11 @@ namespace MediaBrowser.Server.Implementations.Library var specialFeatures = items.OfType<Movie>().SelectMany(i => i.SpecialFeatures).ToList(); var localTrailers = items.SelectMany(i => i.LocalTrailers).ToList(); + var themeSongs = items.SelectMany(i => i.ThemeSongs).ToList(); items.AddRange(specialFeatures); items.AddRange(localTrailers); + items.AddRange(themeSongs); // Need to use DistinctBy Id because there could be multiple instances with the same id // due to sharing the default library @@ -325,22 +327,29 @@ namespace MediaBrowser.Server.Implementations.Library { LibraryItemsCache.AddOrUpdate(item.Id, item, delegate { return item; }); - foreach (var trailer in item.LocalTrailers) + foreach (var subItem in item.LocalTrailers) { // Prevent access to foreach variable in closure - var trailer1 = trailer; - LibraryItemsCache.AddOrUpdate(trailer.Id, trailer, delegate { return trailer1; }); + var trailer1 = subItem; + LibraryItemsCache.AddOrUpdate(subItem.Id, subItem, delegate { return trailer1; }); + } + + foreach (var subItem in item.ThemeSongs) + { + // Prevent access to foreach variable in closure + var trailer1 = subItem; + LibraryItemsCache.AddOrUpdate(subItem.Id, subItem, delegate { return trailer1; }); } var movie = item as Movie; if (movie != null) { - foreach (var special in movie.SpecialFeatures) + foreach (var subItem in movie.SpecialFeatures) { // Prevent access to foreach variable in closure - var special1 = special; - LibraryItemsCache.AddOrUpdate(special.Id, special, delegate { return special1; }); + var special1 = subItem; + LibraryItemsCache.AddOrUpdate(subItem.Id, subItem, delegate { return special1; }); } } } |
