diff options
7 files changed, 19 insertions, 33 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index a15c30e42..fb2260769 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -327,7 +327,7 @@ namespace MediaBrowser.Controller.Entities if (LocationType == LocationType.Remote || LocationType == LocationType.Virtual) { - return new ItemResolveArgs(ConfigurationManager.ApplicationPaths); + return new ItemResolveArgs(ConfigurationManager.ApplicationPaths, LibraryManager); } var isDirectory = false; @@ -345,7 +345,7 @@ namespace MediaBrowser.Controller.Entities throw new IOException("Unable to retrieve file system info for " + path); } - var args = new ItemResolveArgs(ConfigurationManager.ApplicationPaths) + var args = new ItemResolveArgs(ConfigurationManager.ApplicationPaths, LibraryManager) { FileInfo = pathInfo, Path = path, diff --git a/MediaBrowser.Controller/Library/ItemResolveArgs.cs b/MediaBrowser.Controller/Library/ItemResolveArgs.cs index 109ffe7e7..2bae106f3 100644 --- a/MediaBrowser.Controller/Library/ItemResolveArgs.cs +++ b/MediaBrowser.Controller/Library/ItemResolveArgs.cs @@ -1,5 +1,4 @@ using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.IO; using System; using System.Collections.Generic; using System.IO; @@ -17,14 +16,17 @@ namespace MediaBrowser.Controller.Library /// The _app paths /// </summary> private readonly IServerApplicationPaths _appPaths; + private readonly ILibraryManager _libraryManager; /// <summary> /// Initializes a new instance of the <see cref="ItemResolveArgs" /> class. /// </summary> /// <param name="appPaths">The app paths.</param> - public ItemResolveArgs(IServerApplicationPaths appPaths) + /// <param name="libraryManager">The library manager.</param> + public ItemResolveArgs(IServerApplicationPaths appPaths, ILibraryManager libraryManager) { _appPaths = appPaths; + _libraryManager = libraryManager; } /// <summary> @@ -368,6 +370,11 @@ namespace MediaBrowser.Controller.Library return GetFileSystemEntryByName(name) != null; } + public string GetCollectionType() + { + return Parent == null ? null : _libraryManager.FindCollectionType(Parent); + } + #region Equality Overrides /// <summary> diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index bdb4f28e4..7df08691a 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -441,7 +441,7 @@ namespace MediaBrowser.Server.Implementations.Library throw new ArgumentNullException("fileInfo"); } - var args = new ItemResolveArgs(ConfigurationManager.ApplicationPaths) + var args = new ItemResolveArgs(ConfigurationManager.ApplicationPaths, this) { Parent = parent, Path = fileInfo.FullName, diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs index 0ac0f0533..e35352407 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs @@ -14,13 +14,6 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio /// </summary> public class MusicAlbumResolver : ItemResolver<MusicAlbum> { - private readonly ILibraryManager _libraryManager; - - public MusicAlbumResolver(ILibraryManager libraryManager) - { - _libraryManager = libraryManager; - } - /// <summary> /// Gets the priority. /// </summary> @@ -44,7 +37,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio if (args.Parent.IsRoot) return null; if (args.Parent is MusicAlbum) return null; - var collectionType = args.Parent == null ? null : _libraryManager.FindCollectionType(args.Parent); + var collectionType = args.GetCollectionType(); // If there's a collection type and it's not music, it can't be a series if (!string.IsNullOrEmpty(collectionType) && diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs index e2c71f613..8aafbb0f7 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs @@ -13,13 +13,6 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio /// </summary> public class MusicArtistResolver : ItemResolver<MusicArtist> { - private readonly ILibraryManager _libraryManager; - - public MusicArtistResolver(ILibraryManager libraryManager) - { - _libraryManager = libraryManager; - } - /// <summary> /// Gets the priority. /// </summary> @@ -48,7 +41,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio return null; } - var collectionType = args.Parent == null ? null : _libraryManager.FindCollectionType(args.Parent); + var collectionType = args.GetCollectionType(); // If there's a collection type and it's not music, it can't be a series if (!string.IsNullOrEmpty(collectionType) && diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs index 18f464141..0f87b9d33 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs @@ -17,12 +17,12 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies /// </summary> public class MovieResolver : BaseVideoResolver<Video> { - private IServerApplicationPaths ApplicationPaths { get; set; } + private readonly IServerApplicationPaths _applicationPaths; private readonly ILibraryManager _libraryManager; public MovieResolver(IServerApplicationPaths appPaths, ILibraryManager libraryManager) { - ApplicationPaths = appPaths; + _applicationPaths = appPaths; _libraryManager = libraryManager; } @@ -83,7 +83,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies } } - var collectionType = args.Parent == null ? null : _libraryManager.FindCollectionType(args.Parent); + var collectionType = args.GetCollectionType(); // Find movies with their own folders if (isDirectory) @@ -234,7 +234,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies continue; } - var childArgs = new ItemResolveArgs(ApplicationPaths) + var childArgs = new ItemResolveArgs(_applicationPaths, _libraryManager) { FileInfo = child, Path = child.FullName diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs index 9c8f4dceb..5b49ab630 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs @@ -13,13 +13,6 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.TV /// </summary> public class SeriesResolver : FolderResolver<Series> { - private readonly ILibraryManager _libraryManager; - - public SeriesResolver(ILibraryManager libraryManager) - { - _libraryManager = libraryManager; - } - /// <summary> /// Gets the priority. /// </summary> @@ -53,7 +46,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.TV return null; } - var collectionType = args.Parent == null ? null : _libraryManager.FindCollectionType(args.Parent); + var collectionType = args.GetCollectionType(); // If there's a collection type and it's not tv, it can't be a series if (!string.IsNullOrEmpty(collectionType) && |
