diff options
Diffstat (limited to 'MediaBrowser.Controller/Entities/UserRootFolder.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/UserRootFolder.cs | 93 |
1 files changed, 1 insertions, 92 deletions
diff --git a/MediaBrowser.Controller/Entities/UserRootFolder.cs b/MediaBrowser.Controller/Entities/UserRootFolder.cs index ec7c02cfa..e5a8135c2 100644 --- a/MediaBrowser.Controller/Entities/UserRootFolder.cs +++ b/MediaBrowser.Controller/Entities/UserRootFolder.cs @@ -1,12 +1,6 @@ -using MediaBrowser.Common.Extensions; -using MediaBrowser.Controller.Entities.Audio; -using MediaBrowser.Controller.Entities.Movies; -using MediaBrowser.Controller.Entities.TV; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; +using MediaBrowser.Controller.Providers; using System; using System.Collections.Generic; -using System.IO; using System.Linq; using System.Threading; using System.Threading.Tasks; @@ -57,90 +51,5 @@ namespace MediaBrowser.Controller.Entities LibraryManager.RegisterItem(item); } } - - public async Task<IEnumerable<Folder>> GetViews(User user, CancellationToken cancellationToken) - { - var folders = user.RootFolder - .GetChildren(user, true) - .OfType<Folder>() - .ToList(); - - var list = new List<Folder>(); - - var excludeFolderIds = user.Configuration.ExcludeFoldersFromGrouping.Select(i => new Guid(i)).ToList(); - - var standaloneFolders = folders.Where(i => UserView.IsExcludedFromGrouping(i) || excludeFolderIds.Contains(i.Id)).ToList(); - - list.AddRange(standaloneFolders); - - var recursiveChildren = folders - .Except(standaloneFolders) - .SelectMany(i => i.GetRecursiveChildren(user, false)) - .ToList(); - - if (recursiveChildren.OfType<Series>().Any()) - { - list.Add(await GetUserView(CollectionType.TvShows, user, cancellationToken).ConfigureAwait(false)); - } - - if (recursiveChildren.OfType<MusicAlbum>().Any() || - recursiveChildren.OfType<MusicVideo>().Any()) - { - list.Add(await GetUserView(CollectionType.Music, user, cancellationToken).ConfigureAwait(false)); - } - - if (recursiveChildren.OfType<Movie>().Any()) - { - list.Add(await GetUserView(CollectionType.Movies, user, cancellationToken).ConfigureAwait(false)); - } - - if (recursiveChildren.OfType<Game>().Any()) - { - list.Add(await GetUserView(CollectionType.Games, user, cancellationToken).ConfigureAwait(false)); - } - - if (recursiveChildren.OfType<BoxSet>().Any()) - { - list.Add(await GetUserView(CollectionType.BoxSets, user, cancellationToken).ConfigureAwait(false)); - } - - return list.OrderBy(i => i.SortName); - } - - // Use this to force new entity creation, as needed - private const string DataVersion = "5"; - private async Task<UserView> GetUserView(string type, User user, CancellationToken cancellationToken) - { - var name = LocalizationManager.GetLocalizedString("ViewType" + type); - - var id = "view" + name + DataVersion + user.Id.ToString("N"); - var guid = id.GetMD5(); - - var item = LibraryManager.GetItemById(guid) as UserView; - - if (item == null) - { - var path = System.IO.Path.Combine(user.ConfigurationDirectoryPath, - "views", - FileSystem.GetValidFilename(name)); - - Directory.CreateDirectory(System.IO.Path.GetDirectoryName(path)); - - item = new UserView - { - Path = path, - Id = guid, - DateCreated = DateTime.UtcNow, - Name = name, - ViewType = type - }; - - await LibraryManager.CreateItem(item, cancellationToken).ConfigureAwait(false); - - await item.RefreshMetadata(cancellationToken).ConfigureAwait(false); - } - - return item; - } } } |
