fixes #433 - Add root collection type to ItemResolveArgs
This commit is contained in:
parent
dfe91e43b6
commit
e7e18af2d7
|
@ -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,
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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) &&
|
||||
|
|
|
@ -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) &&
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) &&
|
||||
|
|
Loading…
Reference in New Issue
Block a user