mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-07-09 15:20:34 +02:00
adjust default image provider
This commit is contained in:
parent
322e468eea
commit
e7d5532bee
|
@ -36,36 +36,42 @@ namespace MediaBrowser.Providers.FolderImages
|
||||||
|
|
||||||
if (view != null)
|
if (view != null)
|
||||||
{
|
{
|
||||||
return GetImages(view.ViewType, cancellationToken);
|
return GetImages(view.ViewType, view.UserId.HasValue, cancellationToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
var folder = (ICollectionFolder)item;
|
var folder = (ICollectionFolder)item;
|
||||||
return GetImages(folder.CollectionType, cancellationToken);
|
return GetImages(folder.CollectionType, false, cancellationToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task<IEnumerable<RemoteImageInfo>> GetImages(string viewType, CancellationToken cancellationToken)
|
private Task<IEnumerable<RemoteImageInfo>> GetImages(string viewType, bool isUserSpecificView, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
var url = GetImageUrl(viewType);
|
var url = GetImageUrl(viewType, isUserSpecificView);
|
||||||
|
var list = new List<RemoteImageInfo>();
|
||||||
|
|
||||||
return Task.FromResult<IEnumerable<RemoteImageInfo>>(new List<RemoteImageInfo>
|
if (!string.IsNullOrWhiteSpace(url))
|
||||||
{
|
{
|
||||||
new RemoteImageInfo
|
list.AddRange(new List<RemoteImageInfo>
|
||||||
{
|
{
|
||||||
ProviderName = Name,
|
new RemoteImageInfo
|
||||||
Url = url,
|
{
|
||||||
Type = ImageType.Primary
|
ProviderName = Name,
|
||||||
},
|
Url = url,
|
||||||
|
Type = ImageType.Primary
|
||||||
|
},
|
||||||
|
|
||||||
new RemoteImageInfo
|
new RemoteImageInfo
|
||||||
{
|
{
|
||||||
ProviderName = Name,
|
ProviderName = Name,
|
||||||
Url = url,
|
Url = url,
|
||||||
Type = ImageType.Thumb
|
Type = ImageType.Thumb
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return Task.FromResult<IEnumerable<RemoteImageInfo>>(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
private string GetImageUrl(string viewType)
|
private string GetImageUrl(string viewType, bool isUserSpecificView)
|
||||||
{
|
{
|
||||||
const string urlPrefix = "https://raw.githubusercontent.com/MediaBrowser/MediaBrowser.Resources/master/images/folders/";
|
const string urlPrefix = "https://raw.githubusercontent.com/MediaBrowser/MediaBrowser.Resources/master/images/folders/";
|
||||||
|
|
||||||
|
@ -102,6 +108,11 @@ namespace MediaBrowser.Providers.FolderImages
|
||||||
return urlPrefix + "movies.png";
|
return urlPrefix + "movies.png";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isUserSpecificView)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
return urlPrefix + "generic.png";
|
return urlPrefix + "generic.png";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -112,13 +123,6 @@ namespace MediaBrowser.Providers.FolderImages
|
||||||
|
|
||||||
public bool Supports(IHasImages item)
|
public bool Supports(IHasImages item)
|
||||||
{
|
{
|
||||||
var view = item as UserView;
|
|
||||||
|
|
||||||
if (view != null)
|
|
||||||
{
|
|
||||||
return !view.UserId.HasValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
return item is ICollectionFolder;
|
return item is ICollectionFolder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.Collections
|
namespace MediaBrowser.Server.Implementations.Collections
|
||||||
{
|
{
|
||||||
public class CollectionImageProvider : BaseDynamicImageProvider<BoxSet>, ICustomMetadataProvider<BoxSet>
|
public class CollectionImageProvider : BaseDynamicImageProvider<BoxSet>
|
||||||
{
|
{
|
||||||
public CollectionImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths) : base(fileSystem, providerManager, applicationPaths)
|
public CollectionImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths) : base(fileSystem, providerManager, applicationPaths)
|
||||||
{
|
{
|
||||||
|
|
|
@ -15,8 +15,8 @@ using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.Photos
|
namespace MediaBrowser.Server.Implementations.Photos
|
||||||
{
|
{
|
||||||
public abstract class BaseDynamicImageProvider<T> : IHasChangeMonitor, IForcedProvider
|
public abstract class BaseDynamicImageProvider<T> : IHasChangeMonitor, IForcedProvider, ICustomMetadataProvider<T>
|
||||||
where T : IHasImages
|
where T : IHasMetadata
|
||||||
{
|
{
|
||||||
protected IFileSystem FileSystem { get; private set; }
|
protected IFileSystem FileSystem { get; private set; }
|
||||||
protected IProviderManager ProviderManager { get; private set; }
|
protected IProviderManager ProviderManager { get; private set; }
|
||||||
|
|
|
@ -13,7 +13,7 @@ using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.Photos
|
namespace MediaBrowser.Server.Implementations.Photos
|
||||||
{
|
{
|
||||||
public class DynamicImageProvider : BaseDynamicImageProvider<UserView>, ICustomMetadataProvider<UserView>
|
public class DynamicImageProvider : BaseDynamicImageProvider<UserView>
|
||||||
{
|
{
|
||||||
private readonly IUserManager _userManager;
|
private readonly IUserManager _userManager;
|
||||||
private readonly ILibraryManager _libraryManager;
|
private readonly ILibraryManager _libraryManager;
|
||||||
|
|
|
@ -8,7 +8,7 @@ using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.Photos
|
namespace MediaBrowser.Server.Implementations.Photos
|
||||||
{
|
{
|
||||||
public class PhotoAlbumImageProvider : BaseDynamicImageProvider<PhotoAlbum>, ICustomMetadataProvider<PhotoAlbum>
|
public class PhotoAlbumImageProvider : BaseDynamicImageProvider<PhotoAlbum>
|
||||||
{
|
{
|
||||||
public PhotoAlbumImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths) : base(fileSystem, providerManager, applicationPaths)
|
public PhotoAlbumImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths) : base(fileSystem, providerManager, applicationPaths)
|
||||||
{
|
{
|
||||||
|
|
|
@ -14,7 +14,7 @@ using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.Playlists
|
namespace MediaBrowser.Server.Implementations.Playlists
|
||||||
{
|
{
|
||||||
public class PlaylistImageProvider : BaseDynamicImageProvider<Playlist>, ICustomMetadataProvider<Playlist>
|
public class PlaylistImageProvider : BaseDynamicImageProvider<Playlist>
|
||||||
{
|
{
|
||||||
public PlaylistImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths) : base(fileSystem, providerManager, applicationPaths)
|
public PlaylistImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths) : base(fileSystem, providerManager, applicationPaths)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue