diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index a15c30e425..fb22607692 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 109ffe7e7e..2bae106f3b 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
///
private readonly IServerApplicationPaths _appPaths;
+ private readonly ILibraryManager _libraryManager;
///
/// Initializes a new instance of the class.
///
/// The app paths.
- public ItemResolveArgs(IServerApplicationPaths appPaths)
+ /// The library manager.
+ public ItemResolveArgs(IServerApplicationPaths appPaths, ILibraryManager libraryManager)
{
_appPaths = appPaths;
+ _libraryManager = libraryManager;
}
///
@@ -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
///
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index bdb4f28e43..7df08691a3 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 0ac0f0533b..e35352407a 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
///
public class MusicAlbumResolver : ItemResolver
{
- private readonly ILibraryManager _libraryManager;
-
- public MusicAlbumResolver(ILibraryManager libraryManager)
- {
- _libraryManager = libraryManager;
- }
-
///
/// Gets the priority.
///
@@ -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 e2c71f613b..8aafbb0f77 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
///
public class MusicArtistResolver : ItemResolver
{
- private readonly ILibraryManager _libraryManager;
-
- public MusicArtistResolver(ILibraryManager libraryManager)
- {
- _libraryManager = libraryManager;
- }
-
///
/// Gets the priority.
///
@@ -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 18f4641412..0f87b9d337 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
///
public class MovieResolver : BaseVideoResolver