diff options
Diffstat (limited to 'MediaBrowser.Providers/Manager/ItemImageProvider.cs')
| -rw-r--r-- | MediaBrowser.Providers/Manager/ItemImageProvider.cs | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/MediaBrowser.Providers/Manager/ItemImageProvider.cs b/MediaBrowser.Providers/Manager/ItemImageProvider.cs index 39715a449..e62ce0225 100644 --- a/MediaBrowser.Providers/Manager/ItemImageProvider.cs +++ b/MediaBrowser.Providers/Manager/ItemImageProvider.cs @@ -23,6 +23,7 @@ using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.IO; using MediaBrowser.Controller.LiveTv; using MediaBrowser.Model.MediaInfo; +using MediaBrowser.Model.Extensions; namespace MediaBrowser.Providers.Manager { @@ -41,7 +42,7 @@ namespace MediaBrowser.Providers.Manager _fileSystem = fileSystem; } - public bool ValidateImages(IHasImages item, IEnumerable<IImageProvider> providers, IDirectoryService directoryService) + public bool ValidateImages(IHasMetadata item, IEnumerable<IImageProvider> providers, IDirectoryService directoryService) { var hasChanges = false; @@ -60,7 +61,7 @@ namespace MediaBrowser.Providers.Manager return hasChanges; } - public async Task<RefreshResult> RefreshImages(IHasImages item, LibraryOptions libraryOptions, IEnumerable<IImageProvider> imageProviders, ImageRefreshOptions refreshOptions, MetadataOptions savedOptions, CancellationToken cancellationToken) + public async Task<RefreshResult> RefreshImages(IHasMetadata item, LibraryOptions libraryOptions, List<IImageProvider> providers, ImageRefreshOptions refreshOptions, MetadataOptions savedOptions, CancellationToken cancellationToken) { if (refreshOptions.IsReplacingImage(ImageType.Backdrop)) { @@ -73,8 +74,6 @@ namespace MediaBrowser.Providers.Manager var result = new RefreshResult { UpdateType = ItemUpdateType.None }; - var providers = imageProviders.ToList(); - var providerIds = new List<Guid>(); // In order to avoid duplicates, only download these if there are none already @@ -118,7 +117,7 @@ namespace MediaBrowser.Providers.Manager /// <param name="result">The result.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task.</returns> - private async Task RefreshFromProvider(IHasImages item, + private async Task RefreshFromProvider(IHasMetadata item, IDynamicImageProvider provider, ImageRefreshOptions refreshOptions, MetadataOptions savedOptions, @@ -203,7 +202,7 @@ namespace MediaBrowser.Providers.Manager ImageType.Thumb }; - private bool HasImage(IHasImages item, ImageType type) + private bool HasImage(IHasMetadata item, ImageType type) { var image = item.GetImageInfo(type, 0); @@ -220,7 +219,7 @@ namespace MediaBrowser.Providers.Manager /// <param name="backdropLimit">The backdrop limit.</param> /// <param name="screenshotLimit">The screenshot limit.</param> /// <returns><c>true</c> if the specified item contains images; otherwise, <c>false</c>.</returns> - private bool ContainsImages(IHasImages item, List<ImageType> images, MetadataOptions savedOptions, int backdropLimit, int screenshotLimit) + private bool ContainsImages(IHasMetadata item, List<ImageType> images, MetadataOptions savedOptions, int backdropLimit, int screenshotLimit) { if (_singularImages.Any(i => images.Contains(i) && !HasImage(item, i) && savedOptions.GetLimit(i) > 0)) { @@ -253,7 +252,7 @@ namespace MediaBrowser.Providers.Manager /// <param name="result">The result.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task.</returns> - private async Task RefreshFromProvider(IHasImages item, LibraryOptions libraryOptions, + private async Task RefreshFromProvider(IHasMetadata item, LibraryOptions libraryOptions, IRemoteImageProvider provider, ImageRefreshOptions refreshOptions, MetadataOptions savedOptions, @@ -333,7 +332,7 @@ namespace MediaBrowser.Providers.Manager } } - private bool IsEnabled(MetadataOptions options, ImageType type, IHasImages item) + private bool IsEnabled(MetadataOptions options, ImageType type, IHasMetadata item) { if (type == ImageType.Backdrop) { @@ -360,7 +359,7 @@ namespace MediaBrowser.Providers.Manager return options.IsEnabled(type); } - private void ClearImages(IHasImages item, ImageType type) + private void ClearImages(IHasMetadata item, ImageType type) { var deleted = false; var deletedImages = new List<ItemImageInfo>(); @@ -384,10 +383,7 @@ namespace MediaBrowser.Providers.Manager } } - foreach (var image in deletedImages) - { - item.RemoveImage(image); - } + item.RemoveImages(deletedImages); if (deleted) { @@ -395,7 +391,7 @@ namespace MediaBrowser.Providers.Manager } } - public bool MergeImages(IHasImages item, List<LocalImageInfo> images) + public bool MergeImages(IHasMetadata item, List<LocalImageInfo> images) { var changed = false; @@ -453,7 +449,7 @@ namespace MediaBrowser.Providers.Manager return changed; } - private bool UpdateMultiImages(IHasImages item, List<LocalImageInfo> images, ImageType type) + private bool UpdateMultiImages(IHasMetadata item, List<LocalImageInfo> images, ImageType type) { var changed = false; @@ -471,7 +467,7 @@ namespace MediaBrowser.Providers.Manager return changed; } - private async Task<bool> DownloadImage(IHasImages item, LibraryOptions libraryOptions, + private async Task<bool> DownloadImage(IHasMetadata item, LibraryOptions libraryOptions, IRemoteImageProvider provider, RefreshResult result, IEnumerable<RemoteImageInfo> images, @@ -517,7 +513,7 @@ namespace MediaBrowser.Providers.Manager return false; } - private bool EnableImageStub(IHasImages item, ImageType type, LibraryOptions libraryOptions) + private bool EnableImageStub(IHasMetadata item, ImageType type, LibraryOptions libraryOptions) { if (item is LiveTvProgram) { @@ -557,14 +553,14 @@ namespace MediaBrowser.Providers.Manager } } - private void SaveImageStub(IHasImages item, ImageType imageType, IEnumerable<string> urls) + private void SaveImageStub(IHasMetadata item, ImageType imageType, IEnumerable<string> urls) { var newIndex = item.AllowsMultipleImages(imageType) ? item.GetImages(imageType).Count() : 0; SaveImageStub(item, imageType, urls, newIndex); } - private void SaveImageStub(IHasImages item, ImageType imageType, IEnumerable<string> urls, int newIndex) + private void SaveImageStub(IHasMetadata item, ImageType imageType, IEnumerable<string> urls, int newIndex) { var path = string.Join("|", urls.Take(1).ToArray()); @@ -576,7 +572,7 @@ namespace MediaBrowser.Providers.Manager }, newIndex); } - private async Task DownloadBackdrops(IHasImages item, LibraryOptions libraryOptions, ImageType imageType, int limit, IRemoteImageProvider provider, RefreshResult result, IEnumerable<RemoteImageInfo> images, int minWidth, CancellationToken cancellationToken) + private async Task DownloadBackdrops(IHasMetadata item, LibraryOptions libraryOptions, ImageType imageType, int limit, IRemoteImageProvider provider, RefreshResult result, IEnumerable<RemoteImageInfo> images, int minWidth, CancellationToken cancellationToken) { foreach (var image in images.Where(i => i.Type == imageType)) { |
