diff options
Diffstat (limited to 'Emby.Server.Implementations/Library/Resolvers/PlaylistResolver.cs')
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/PlaylistResolver.cs | 27 |
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; } |
