aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/UserRootFolder.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Entities/UserRootFolder.cs')
-rw-r--r--MediaBrowser.Controller/Entities/UserRootFolder.cs93
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;
- }
}
}