diff options
| author | Luke <luke.pulverenti@gmail.com> | 2013-12-22 12:53:25 -0800 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2013-12-22 12:53:25 -0800 |
| commit | 632ff32e7e57a601eab862956ae4cd6b581d64cb (patch) | |
| tree | ff2a3c16c88b7d85ff67068671f64b864aa45f7e /MediaBrowser.Providers/Music | |
| parent | 4c2623d540465088ce8f316eae21541ae807cd84 (diff) | |
| parent | f0d0e1b94da6d329cb6c0acc826455dc5c739b1d (diff) | |
Merge pull request #648 from thogil/lock_images
Added Images to MetadataFields
Diffstat (limited to 'MediaBrowser.Providers/Music')
| -rw-r--r-- | MediaBrowser.Providers/Music/FanArtAlbumProvider.cs | 8 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Music/FanArtArtistProvider.cs | 71 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Music/LastFmImageProvider.cs | 2 |
3 files changed, 44 insertions, 37 deletions
diff --git a/MediaBrowser.Providers/Music/FanArtAlbumProvider.cs b/MediaBrowser.Providers/Music/FanArtAlbumProvider.cs index 2e072b0983..b6e0d61f75 100644 --- a/MediaBrowser.Providers/Music/FanArtAlbumProvider.cs +++ b/MediaBrowser.Providers/Music/FanArtAlbumProvider.cs @@ -154,9 +154,11 @@ namespace MediaBrowser.Providers.Music /// <returns>Task{System.Boolean}.</returns> public override async Task<bool> FetchAsync(BaseItem item, bool force, BaseProviderInfo providerInfo, CancellationToken cancellationToken) { - var images = await _providerManager.GetAvailableRemoteImages(item, cancellationToken, ManualFanartAlbumProvider.ProviderName).ConfigureAwait(false); - - await FetchFromXml(item, images.ToList(), cancellationToken).ConfigureAwait(false); + if (!item.LockedFields.Contains(MetadataFields.Images)) + { + var images = await _providerManager.GetAvailableRemoteImages(item, cancellationToken, ManualFanartAlbumProvider.ProviderName).ConfigureAwait(false); + await FetchFromXml(item, images.ToList(), cancellationToken).ConfigureAwait(false); + } SetLastRefreshed(item, DateTime.UtcNow, providerInfo); diff --git a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs index 57a191ab13..454d56daf4 100644 --- a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs +++ b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs @@ -213,13 +213,12 @@ namespace MediaBrowser.Providers.Music } if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Art || - ConfigurationManager.Configuration.DownloadMusicArtistImages.Backdrops || - ConfigurationManager.Configuration.DownloadMusicArtistImages.Banner || - ConfigurationManager.Configuration.DownloadMusicArtistImages.Logo || - ConfigurationManager.Configuration.DownloadMusicArtistImages.Primary) + ConfigurationManager.Configuration.DownloadMusicArtistImages.Backdrops || + ConfigurationManager.Configuration.DownloadMusicArtistImages.Banner || + ConfigurationManager.Configuration.DownloadMusicArtistImages.Logo || + ConfigurationManager.Configuration.DownloadMusicArtistImages.Primary) { var images = await _providerManager.GetAvailableRemoteImages(item, cancellationToken, ManualFanartArtistProvider.ProviderName).ConfigureAwait(false); - await FetchFromXml(item, images.ToList(), cancellationToken).ConfigureAwait(false); } @@ -268,46 +267,52 @@ namespace MediaBrowser.Providers.Music /// <returns>Task.</returns> private async Task FetchFromXml(BaseItem item, List<RemoteImageInfo> images , CancellationToken cancellationToken) { - cancellationToken.ThrowIfCancellationRequested(); - - if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Primary && !item.HasImage(ImageType.Primary)) + if (!item.LockedFields.Contains(MetadataFields.Images)) { - await SaveImage(item, images, ImageType.Primary, cancellationToken).ConfigureAwait(false); - } + cancellationToken.ThrowIfCancellationRequested(); - cancellationToken.ThrowIfCancellationRequested(); + if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Primary && !item.HasImage(ImageType.Primary)) + { + await SaveImage(item, images, ImageType.Primary, cancellationToken).ConfigureAwait(false); + } - if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Logo && !item.HasImage(ImageType.Logo)) - { - await SaveImage(item, images, ImageType.Logo, cancellationToken).ConfigureAwait(false); - } + cancellationToken.ThrowIfCancellationRequested(); - cancellationToken.ThrowIfCancellationRequested(); + if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Logo && !item.HasImage(ImageType.Logo)) + { + await SaveImage(item, images, ImageType.Logo, cancellationToken).ConfigureAwait(false); + } - if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Art && !item.HasImage(ImageType.Art)) - { - await SaveImage(item, images, ImageType.Art, cancellationToken).ConfigureAwait(false); - } + cancellationToken.ThrowIfCancellationRequested(); - cancellationToken.ThrowIfCancellationRequested(); + if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Art && !item.HasImage(ImageType.Art)) + { + await SaveImage(item, images, ImageType.Art, cancellationToken).ConfigureAwait(false); + } - if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Banner && !item.HasImage(ImageType.Banner)) - { - await SaveImage(item, images, ImageType.Banner, cancellationToken).ConfigureAwait(false); - } + cancellationToken.ThrowIfCancellationRequested(); - cancellationToken.ThrowIfCancellationRequested(); + if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Banner && !item.HasImage(ImageType.Banner)) + { + await SaveImage(item, images, ImageType.Banner, cancellationToken).ConfigureAwait(false); + } + } - var backdropLimit = ConfigurationManager.Configuration.MaxBackdrops; - if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Backdrops && - item.BackdropImagePaths.Count < backdropLimit) + if (!item.LockedFields.Contains(MetadataFields.Backdrops)) { - foreach (var image in images.Where(i => i.Type == ImageType.Backdrop)) + cancellationToken.ThrowIfCancellationRequested(); + + var backdropLimit = ConfigurationManager.Configuration.MaxBackdrops; + if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Backdrops && + item.BackdropImagePaths.Count < backdropLimit) { - await _providerManager.SaveImage(item, image.Url, FanArtResourcePool, ImageType.Backdrop, null, cancellationToken) - .ConfigureAwait(false); + foreach (var image in images.Where(i => i.Type == ImageType.Backdrop)) + { + await _providerManager.SaveImage(item, image.Url, FanArtResourcePool, ImageType.Backdrop, null, cancellationToken) + .ConfigureAwait(false); - if (item.BackdropImagePaths.Count >= backdropLimit) break; + if (item.BackdropImagePaths.Count >= backdropLimit) break; + } } } } diff --git a/MediaBrowser.Providers/Music/LastFmImageProvider.cs b/MediaBrowser.Providers/Music/LastFmImageProvider.cs index 2a30a3a2e4..98ba58fa8b 100644 --- a/MediaBrowser.Providers/Music/LastFmImageProvider.cs +++ b/MediaBrowser.Providers/Music/LastFmImageProvider.cs @@ -90,7 +90,7 @@ namespace MediaBrowser.Providers.Music ? ConfigurationManager.Configuration.DownloadMusicAlbumImages : ConfigurationManager.Configuration.DownloadMusicArtistImages; - if (configSetting.Primary && !item.HasImage(ImageType.Primary)) + if (configSetting.Primary && !item.HasImage(ImageType.Primary) && !item.LockedFields.Contains(MetadataFields.Images)) { var image = images.FirstOrDefault(i => i.Type == ImageType.Primary); |
