aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library/Resolvers/FolderResolver.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/Resolvers/FolderResolver.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Library/Resolvers/FolderResolver.cs16
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>