diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library')
3 files changed, 40 insertions, 14 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index b6e9fec17..c3c48f099 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -3,6 +3,7 @@ using MediaBrowser.Common.Events; using MediaBrowser.Common.Extensions; using MediaBrowser.Common.ScheduledTasks; using MediaBrowser.Controller; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.IO; using MediaBrowser.Controller.Library; @@ -91,20 +92,28 @@ namespace MediaBrowser.Server.Implementations.Library private Kernel Kernel { get; set; } /// <summary> + /// Gets or sets the configuration manager. + /// </summary> + /// <value>The configuration manager.</value> + private IServerConfigurationManager ConfigurationManager { get; set; } + + /// <summary> /// Initializes a new instance of the <see cref="LibraryManager" /> class. /// </summary> /// <param name="kernel">The kernel.</param> /// <param name="logger">The logger.</param> /// <param name="taskManager">The task manager.</param> /// <param name="userManager">The user manager.</param> - public LibraryManager(Kernel kernel, ILogger logger, ITaskManager taskManager, IUserManager userManager) + /// <param name="configurationManager">The configuration manager.</param> + public LibraryManager(Kernel kernel, ILogger logger, ITaskManager taskManager, IUserManager userManager, IServerConfigurationManager configurationManager) { Kernel = kernel; _logger = logger; _taskManager = taskManager; _userManager = userManager; + ConfigurationManager = configurationManager; - kernel.ConfigurationUpdated += kernel_ConfigurationUpdated; + ConfigurationManager.ConfigurationUpdated += kernel_ConfigurationUpdated; } /// <summary> @@ -222,7 +231,7 @@ namespace MediaBrowser.Server.Implementations.Library return null; } - var args = new ItemResolveArgs + var args = new ItemResolveArgs(ConfigurationManager.ApplicationPaths) { Parent = parent, Path = path, @@ -306,7 +315,7 @@ namespace MediaBrowser.Server.Implementations.Library /// <exception cref="System.InvalidOperationException">Cannot create the root folder until plugins have loaded</exception> public AggregateFolder CreateRootFolder() { - var rootFolderPath = Kernel.ApplicationPaths.RootFolderPath; + var rootFolderPath = ConfigurationManager.ApplicationPaths.RootFolderPath; var rootFolder = Kernel.ItemRepository.RetrieveItem(rootFolderPath.GetMBId(typeof(AggregateFolder))) as AggregateFolder ?? (AggregateFolder)ResolvePath(rootFolderPath); // Add in the plug-in folders @@ -338,7 +347,7 @@ namespace MediaBrowser.Server.Implementations.Library /// <returns>Task{Person}.</returns> private Task<Person> GetPerson(string name, CancellationToken cancellationToken, bool allowSlowProviders = false) { - return GetImagesByNameItem<Person>(Kernel.ApplicationPaths.PeoplePath, name, cancellationToken, allowSlowProviders); + return GetImagesByNameItem<Person>(ConfigurationManager.ApplicationPaths.PeoplePath, name, cancellationToken, allowSlowProviders); } /// <summary> @@ -349,7 +358,7 @@ namespace MediaBrowser.Server.Implementations.Library /// <returns>Task{Studio}.</returns> public Task<Studio> GetStudio(string name, bool allowSlowProviders = false) { - return GetImagesByNameItem<Studio>(Kernel.ApplicationPaths.StudioPath, name, CancellationToken.None, allowSlowProviders); + return GetImagesByNameItem<Studio>(ConfigurationManager.ApplicationPaths.StudioPath, name, CancellationToken.None, allowSlowProviders); } /// <summary> @@ -360,7 +369,7 @@ namespace MediaBrowser.Server.Implementations.Library /// <returns>Task{Genre}.</returns> public Task<Genre> GetGenre(string name, bool allowSlowProviders = false) { - return GetImagesByNameItem<Genre>(Kernel.ApplicationPaths.GenrePath, name, CancellationToken.None, allowSlowProviders); + return GetImagesByNameItem<Genre>(ConfigurationManager.ApplicationPaths.GenrePath, name, CancellationToken.None, allowSlowProviders); } /// <summary> @@ -382,7 +391,7 @@ namespace MediaBrowser.Server.Implementations.Library throw new ArgumentOutOfRangeException(); } - return GetImagesByNameItem<Year>(Kernel.ApplicationPaths.YearPath, value.ToString(UsCulture), CancellationToken.None, allowSlowProviders); + return GetImagesByNameItem<Year>(ConfigurationManager.ApplicationPaths.YearPath, value.ToString(UsCulture), CancellationToken.None, allowSlowProviders); } /// <summary> @@ -612,7 +621,7 @@ namespace MediaBrowser.Server.Implementations.Library /// <returns>IEnumerable{VirtualFolderInfo}.</returns> public IEnumerable<VirtualFolderInfo> GetDefaultVirtualFolders() { - return GetView(Kernel.ApplicationPaths.DefaultUserViewsPath); + return GetView(ConfigurationManager.ApplicationPaths.DefaultUserViewsPath); } /// <summary> diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs index 4dd7aceb4..61ca82f95 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs @@ -1,4 +1,5 @@ using MediaBrowser.Common.Extensions; +using MediaBrowser.Controller; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Library; @@ -16,6 +17,13 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies /// </summary> public class MovieResolver : BaseVideoResolver<Movie> { + private IServerApplicationPaths ApplicationPaths { get; set; } + + public MovieResolver(IServerApplicationPaths appPaths) + { + ApplicationPaths = appPaths; + } + /// <summary> /// Gets the priority. /// </summary> @@ -149,7 +157,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies continue; } - var childArgs = new ItemResolveArgs + var childArgs = new ItemResolveArgs(ApplicationPaths) { FileInfo = child, Path = child.Path diff --git a/MediaBrowser.Server.Implementations/Library/UserManager.cs b/MediaBrowser.Server.Implementations/Library/UserManager.cs index 0490a9cf0..a3a24fb34 100644 --- a/MediaBrowser.Server.Implementations/Library/UserManager.cs +++ b/MediaBrowser.Server.Implementations/Library/UserManager.cs @@ -1,6 +1,7 @@ using MediaBrowser.Common.Events; using MediaBrowser.Common.Extensions; using MediaBrowser.Controller; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Connectivity; @@ -90,14 +91,22 @@ namespace MediaBrowser.Server.Implementations.Library private Kernel Kernel { get; set; } /// <summary> + /// Gets or sets the configuration manager. + /// </summary> + /// <value>The configuration manager.</value> + private IServerConfigurationManager ConfigurationManager { get; set; } + + /// <summary> /// Initializes a new instance of the <see cref="UserManager" /> class. /// </summary> /// <param name="kernel">The kernel.</param> /// <param name="logger">The logger.</param> - public UserManager(Kernel kernel, ILogger logger) + /// <param name="configurationManager">The configuration manager.</param> + public UserManager(Kernel kernel, ILogger logger, IServerConfigurationManager configurationManager) { _logger = logger; Kernel = kernel; + ConfigurationManager = configurationManager; } #region Events @@ -596,14 +605,14 @@ namespace MediaBrowser.Server.Implementations.Library var pctIn = Decimal.Divide(positionTicks, item.RunTimeTicks.Value) * 100; // Don't track in very beginning - if (pctIn < Kernel.Configuration.MinResumePct) + if (pctIn < ConfigurationManager.Configuration.MinResumePct) { positionTicks = 0; incrementPlayCount = false; } // If we're at the end, assume completed - else if (pctIn > Kernel.Configuration.MaxResumePct || positionTicks >= item.RunTimeTicks.Value) + else if (pctIn > ConfigurationManager.Configuration.MaxResumePct || positionTicks >= item.RunTimeTicks.Value) { positionTicks = 0; data.Played = true; @@ -614,7 +623,7 @@ namespace MediaBrowser.Server.Implementations.Library // Enforce MinResumeDuration var durationSeconds = TimeSpan.FromTicks(item.RunTimeTicks.Value).TotalSeconds; - if (durationSeconds < Kernel.Configuration.MinResumeDurationSeconds) + if (durationSeconds < ConfigurationManager.Configuration.MinResumeDurationSeconds) { positionTicks = 0; data.Played = true; |
