diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/Resolvers/FolderResolver.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/Resolvers/FolderResolver.cs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/FolderResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/FolderResolver.cs index ebe36c16e..2b498f32f 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/FolderResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/FolderResolver.cs @@ -1,6 +1,9 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Resolvers; +using System; +using System.IO; +using System.Linq; namespace MediaBrowser.Server.Implementations.Library.Resolvers { @@ -37,7 +40,10 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers } if (args.IsVf) { - return new CollectionFolder(); + return new CollectionFolder + { + CollectionType = GetCollectionType(args) + }; } return new Folder(); @@ -45,6 +51,14 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers return null; } + + private string GetCollectionType(ItemResolveArgs args) + { + return args.FileSystemChildren + .Where(i => (i.Attributes & FileAttributes.Directory) != FileAttributes.Directory && string.Equals(".collection", i.Extension, StringComparison.OrdinalIgnoreCase)) + .Select(i => Path.GetFileNameWithoutExtension(i.FullName)) + .FirstOrDefault(); + } } /// <summary> |
