aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/Music
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2013-12-22 12:53:25 -0800
committerLuke <luke.pulverenti@gmail.com>2013-12-22 12:53:25 -0800
commit632ff32e7e57a601eab862956ae4cd6b581d64cb (patch)
treeff2a3c16c88b7d85ff67068671f64b864aa45f7e /MediaBrowser.Providers/Music
parent4c2623d540465088ce8f316eae21541ae807cd84 (diff)
parentf0d0e1b94da6d329cb6c0acc826455dc5c739b1d (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.cs8
-rw-r--r--MediaBrowser.Providers/Music/FanArtArtistProvider.cs71
-rw-r--r--MediaBrowser.Providers/Music/LastFmImageProvider.cs2
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);