aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Library/Resolvers/PlaylistResolver.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Server.Implementations/Library/Resolvers/PlaylistResolver.cs')
-rw-r--r--Emby.Server.Implementations/Library/Resolvers/PlaylistResolver.cs27
1 files changed, 26 insertions, 1 deletions
diff --git a/Emby.Server.Implementations/Library/Resolvers/PlaylistResolver.cs b/Emby.Server.Implementations/Library/Resolvers/PlaylistResolver.cs
index 8c59cf20f..e66c9f087 100644
--- a/Emby.Server.Implementations/Library/Resolvers/PlaylistResolver.cs
+++ b/Emby.Server.Implementations/Library/Resolvers/PlaylistResolver.cs
@@ -2,11 +2,20 @@
using MediaBrowser.Controller.Playlists;
using System;
using System.IO;
+using MediaBrowser.Model.Extensions;
+using MediaBrowser.Model.Entities;
+using System.Linq;
namespace Emby.Server.Implementations.Library.Resolvers
{
public class PlaylistResolver : FolderResolver<Playlist>
{
+ private string[] SupportedCollectionTypes = new string[] {
+
+ string.Empty,
+ CollectionType.Music
+ };
+
/// <summary>
/// Resolves the specified args.
/// </summary>
@@ -31,10 +40,26 @@ namespace Emby.Server.Implementations.Library.Resolvers
return new Playlist
{
Path = args.Path,
- Name = ResolverHelper.StripBrackets(Path.GetFileName(args.Path))
+ Name = Path.GetFileName(args.Path).Replace("[playlist]", string.Empty, StringComparison.OrdinalIgnoreCase).Trim()
};
}
}
+ else
+ {
+ if (SupportedCollectionTypes.Contains(args.CollectionType ?? string.Empty, StringComparer.OrdinalIgnoreCase))
+ {
+ var extension = Path.GetExtension(args.Path);
+ if (Playlist.SupportedExtensions.Contains(extension ?? string.Empty, StringComparer.OrdinalIgnoreCase))
+ {
+ return new Playlist
+ {
+ Path = args.Path,
+ Name = Path.GetFileNameWithoutExtension(args.Path),
+ IsInMixedFolder = true
+ };
+ }
+ }
+ }
return null;
}