diff options
Diffstat (limited to 'MediaBrowser.Controller/Entities')
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 27 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/User.cs | 84 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/UserRootFolder.cs | 2 |
3 files changed, 23 insertions, 90 deletions
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index b9b6dd517..6472b988a 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -277,6 +277,19 @@ namespace MediaBrowser.Controller.Entities get { return GetRecursiveChildren(); } } + public override bool IsVisible(User user) + { + if (this is ICollectionFolder) + { + if (user.Configuration.BlockedMediaFolders.Contains(Name, StringComparer.OrdinalIgnoreCase)) + { + return false; + } + } + + return base.IsVisible(user); + } + private List<BaseItem> LoadChildrenInternal() { return LoadChildren().ToList(); @@ -762,15 +775,15 @@ namespace MediaBrowser.Controller.Entities { list.Add(child); } - } - - if (recursive && child.IsFolder) - { - var folder = (Folder)child; - if (folder.AddChildrenToList(user, includeLinkedChildren, list, true, filter)) + if (recursive && child.IsFolder) { - hasLinkedChildren = true; + var folder = (Folder)child; + + if (folder.AddChildrenToList(user, includeLinkedChildren, list, true, filter)) + { + hasLinkedChildren = true; + } } } } diff --git a/MediaBrowser.Controller/Entities/User.cs b/MediaBrowser.Controller/Entities/User.cs index 66ef8c7dc..d5fc3172c 100644 --- a/MediaBrowser.Controller/Entities/User.cs +++ b/MediaBrowser.Controller/Entities/User.cs @@ -20,35 +20,6 @@ namespace MediaBrowser.Controller.Entities public static IXmlSerializer XmlSerializer { get; set; } /// <summary> - /// Gets the root folder path. - /// </summary> - /// <value>The root folder path.</value> - [IgnoreDataMember] - public string RootFolderPath - { - get - { - var path = Configuration.UseCustomLibrary ? GetRootFolderPath(Name) : ConfigurationManager.ApplicationPaths.DefaultUserViewsPath; - - Directory.CreateDirectory(path); - - return path; - } - } - - /// <summary> - /// Gets the root folder path based on a given username - /// </summary> - /// <param name="username">The username.</param> - /// <returns>System.String.</returns> - private string GetRootFolderPath(string username) - { - var safeFolderName = FileSystem.GetValidFilename(username); - - return System.IO.Path.Combine(ConfigurationManager.ApplicationPaths.RootFolderPath, safeFolderName); - } - - /// <summary> /// Gets or sets the password. /// </summary> /// <value>The password.</value> @@ -98,23 +69,15 @@ namespace MediaBrowser.Controller.Entities } /// <summary> - /// The _root folder - /// </summary> - private UserRootFolder _rootFolder; - /// <summary> /// Gets the root folder. /// </summary> /// <value>The root folder.</value> [IgnoreDataMember] - public UserRootFolder RootFolder + public Folder RootFolder { get { - return _rootFolder ?? (LibraryManager.GetUserRootFolder(RootFolderPath)); - } - private set - { - _rootFolder = value; + return LibraryManager.GetUserRootFolder(); } } @@ -166,22 +129,6 @@ namespace MediaBrowser.Controller.Entities } /// <summary> - /// Reloads the root media folder - /// </summary> - /// <param name="cancellationToken">The cancellation token.</param> - /// <param name="progress">The progress.</param> - /// <returns>Task.</returns> - public async Task ValidateMediaLibrary(IProgress<double> progress, CancellationToken cancellationToken) - { - Logger.Info("Validating media library for {0}", Name); - await RootFolder.RefreshMetadata(cancellationToken).ConfigureAwait(false); - - cancellationToken.ThrowIfCancellationRequested(); - - await RootFolder.ValidateChildren(progress, cancellationToken).ConfigureAwait(false); - } - - /// <summary> /// Renames the user. /// </summary> /// <param name="newName">The new name.</param> @@ -215,29 +162,10 @@ namespace MediaBrowser.Controller.Entities { Directory.CreateDirectory(newConfigDirectory); } - - var customLibraryPath = GetRootFolderPath(Name); - - // Move the root folder path if using a custom library - if (Directory.Exists(customLibraryPath)) - { - var newRootFolderPath = GetRootFolderPath(newName); - if (Directory.Exists(newRootFolderPath)) - { - Directory.Delete(newRootFolderPath, true); - } - Directory.Move(customLibraryPath, newRootFolderPath); - } } Name = newName; - // Force these to be lazy loaded again - RootFolder = null; - - // Kick off a task to validate the media library - Task.Run(() => ValidateMediaLibrary(new Progress<double>(), CancellationToken.None)); - return RefreshMetadata(new MetadataRefreshOptions { ReplaceAllMetadata = true, @@ -318,16 +246,8 @@ namespace MediaBrowser.Controller.Entities throw new ArgumentNullException("config"); } - var customLibraryChanged = config.UseCustomLibrary != Configuration.UseCustomLibrary; - Configuration = config; SaveConfiguration(serializer); - - // Force these to be lazy loaded again - if (customLibraryChanged) - { - RootFolder = null; - } } } } diff --git a/MediaBrowser.Controller/Entities/UserRootFolder.cs b/MediaBrowser.Controller/Entities/UserRootFolder.cs index 9a8d3e7f4..1829e10c7 100644 --- a/MediaBrowser.Controller/Entities/UserRootFolder.cs +++ b/MediaBrowser.Controller/Entities/UserRootFolder.cs @@ -25,7 +25,7 @@ namespace MediaBrowser.Controller.Entities if (string.Equals("default", Name, System.StringComparison.OrdinalIgnoreCase)) { - Name = "Default Media Library"; + Name = "Media Folders"; hasChanges = true; } |
