|
|
|
using System.Collections.Generic;
|
|
|
|
using MediaBrowser.Controller.Entities;
|
|
|
|
using MediaBrowser.Controller.Providers;
|
|
|
|
using MediaBrowser.Model.IO;
|
|
|
|
|
|
|
|
namespace MediaBrowser.LocalMetadata.Images
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// Collection folder local image provider.
|
|
|
|
/// </summary>
|
|
|
|
public class CollectionFolderLocalImageProvider : ILocalImageProvider, IHasOrder
|
|
|
|
{
|
|
|
|
private readonly IFileSystem _fileSystem;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Initializes a new instance of the <see cref="CollectionFolderLocalImageProvider"/> class.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
|
|
|
|
public CollectionFolderLocalImageProvider(IFileSystem fileSystem)
|
|
|
|
{
|
|
|
|
_fileSystem = fileSystem;
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
public string Name => "Collection Folder Images";
|
|
|
|
|
|
|
|
/// Run after LocalImageProvider
|
|
|
|
/// <inheritdoc />
|
|
|
|
public int Order => 1;
|
|
|
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
public bool Supports(BaseItem item)
|
|
|
|
{
|
|
|
|
return item is CollectionFolder && item.SupportsLocalMetadata;
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
public IEnumerable<LocalImageInfo> GetImages(BaseItem item, IDirectoryService directoryService)
|
|
|
|
{
|
|
|
|
var collectionFolder = (CollectionFolder)item;
|
|
|
|
|
|
|
|
return new LocalImageProvider(_fileSystem).GetImages(item, collectionFolder.PhysicalLocations, directoryService);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|