aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Gillen <thomas.gillen@googlemail.com>2013-12-15 00:26:01 +0000
committerThomas Gillen <thomas.gillen@googlemail.com>2013-12-15 00:26:01 +0000
commit08b7f88b225986777b2a70d4776522cd2e072043 (patch)
tree812585c90a79c3b6a5bc289cd08eaf98c32b19e5
parent0eea77b83737b5e20f8169a1cd2586c01bffcc68 (diff)
Added Images to MetadataFields
-rw-r--r--MediaBrowser.Model/Entities/MetadataFields.cs6
-rw-r--r--MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs12
-rw-r--r--MediaBrowser.Providers/Movies/MovieDbPersonImageProvider.cs8
-rw-r--r--MediaBrowser.Providers/Music/FanArtAlbumProvider.cs8
-rw-r--r--MediaBrowser.Providers/Music/FanArtArtistProvider.cs12
-rw-r--r--MediaBrowser.Providers/Music/LastFmImageProvider.cs2
-rw-r--r--MediaBrowser.Providers/TV/FanArtSeasonProvider.cs10
-rw-r--r--MediaBrowser.Providers/TV/FanArtTVProvider.cs2
-rw-r--r--MediaBrowser.Providers/TV/TvdbPersonImageProvider.cs3
-rw-r--r--MediaBrowser.Providers/TV/TvdbSeasonProvider.cs9
-rw-r--r--MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs9
11 files changed, 51 insertions, 30 deletions
diff --git a/MediaBrowser.Model/Entities/MetadataFields.cs b/MediaBrowser.Model/Entities/MetadataFields.cs
index 85f2da31e..9f72d812e 100644
--- a/MediaBrowser.Model/Entities/MetadataFields.cs
+++ b/MediaBrowser.Model/Entities/MetadataFields.cs
@@ -41,6 +41,10 @@ namespace MediaBrowser.Model.Entities
/// <summary>
/// The official rating
/// </summary>
- OfficialRating
+ OfficialRating,
+ /// <summary>
+ /// The images
+ /// </summary>
+ Images
}
}
diff --git a/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs b/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs
index d63fcec5c..9084316c9 100644
--- a/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs
+++ b/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs
@@ -132,7 +132,9 @@ namespace MediaBrowser.Providers.Movies
}
// Don't refresh if we already have both poster and backdrop and we're not refreshing images
- if (item.HasImage(ImageType.Primary) && item.BackdropImagePaths.Count >= ConfigurationManager.Configuration.MaxBackdrops)
+ if (item.HasImage(ImageType.Primary) &&
+ item.BackdropImagePaths.Count >= ConfigurationManager.Configuration.MaxBackdrops &&
+ !item.LockedFields.Contains(MetadataFields.Images))
{
return false;
}
@@ -166,9 +168,11 @@ namespace MediaBrowser.Providers.Movies
/// <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, ManualMovieDbImageProvider.ProviderName).ConfigureAwait(false);
-
- await ProcessImages(item, images.ToList(), cancellationToken).ConfigureAwait(false);
+ if (!item.LockedFields.Contains(MetadataFields.Images))
+ {
+ var images = await _providerManager.GetAvailableRemoteImages(item, cancellationToken, ManualMovieDbImageProvider.ProviderName).ConfigureAwait(false);
+ await ProcessImages(item, images.ToList(), cancellationToken).ConfigureAwait(false);
+ }
SetLastRefreshed(item, DateTime.UtcNow, providerInfo);
return true;
diff --git a/MediaBrowser.Providers/Movies/MovieDbPersonImageProvider.cs b/MediaBrowser.Providers/Movies/MovieDbPersonImageProvider.cs
index 8fa2ea249..03fd8d0a3 100644
--- a/MediaBrowser.Providers/Movies/MovieDbPersonImageProvider.cs
+++ b/MediaBrowser.Providers/Movies/MovieDbPersonImageProvider.cs
@@ -163,9 +163,11 @@ namespace MediaBrowser.Providers.Movies
/// <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, ManualMovieDbPersonImageProvider.ProviderName).ConfigureAwait(false);
-
- await ProcessImages(item, images.ToList(), cancellationToken).ConfigureAwait(false);
+ if (!item.LockedFields.Contains(MetadataFields.Images))
+ {
+ var images = await _providerManager.GetAvailableRemoteImages(item, cancellationToken, ManualMovieDbPersonImageProvider.ProviderName).ConfigureAwait(false);
+ await ProcessImages(item, images.ToList(), cancellationToken).ConfigureAwait(false);
+ }
SetLastRefreshed(item, DateTime.UtcNow, providerInfo);
return true;
diff --git a/MediaBrowser.Providers/Music/FanArtAlbumProvider.cs b/MediaBrowser.Providers/Music/FanArtAlbumProvider.cs
index 2e072b098..b6e0d61f7 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 57a191ab1..c5da218bb 100644
--- a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs
+++ b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs
@@ -212,14 +212,14 @@ namespace MediaBrowser.Providers.Music
await DownloadArtistXml(artistDataPath, musicBrainzId, cancellationToken).ConfigureAwait(false);
}
- if (ConfigurationManager.Configuration.DownloadMusicArtistImages.Art ||
- ConfigurationManager.Configuration.DownloadMusicArtistImages.Backdrops ||
- ConfigurationManager.Configuration.DownloadMusicArtistImages.Banner ||
- ConfigurationManager.Configuration.DownloadMusicArtistImages.Logo ||
- ConfigurationManager.Configuration.DownloadMusicArtistImages.Primary)
+ if (!item.LockedFields.Contains(MetadataFields.Images) &&
+ (ConfigurationManager.Configuration.DownloadMusicArtistImages.Art ||
+ 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);
}
diff --git a/MediaBrowser.Providers/Music/LastFmImageProvider.cs b/MediaBrowser.Providers/Music/LastFmImageProvider.cs
index 2a30a3a2e..98ba58fa8 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);
diff --git a/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs b/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs
index 713a95b26..b1602bfd3 100644
--- a/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs
+++ b/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs
@@ -103,10 +103,12 @@ namespace MediaBrowser.Providers.TV
var season = (Season)item;
- // Process images
- var images = await _providerManager.GetAvailableRemoteImages(item, cancellationToken, ManualFanartSeasonImageProvider.ProviderName).ConfigureAwait(false);
-
- await FetchImages(season, images.ToList(), cancellationToken).ConfigureAwait(false);
+ if (!item.LockedFields.Contains(MetadataFields.Images))
+ {
+ // Process images
+ var images = await _providerManager.GetAvailableRemoteImages(item, cancellationToken, ManualFanartSeasonImageProvider.ProviderName).ConfigureAwait(false);
+ await FetchImages(season, images.ToList(), cancellationToken).ConfigureAwait(false);
+ }
SetLastRefreshed(item, DateTime.UtcNow, providerInfo);
return true;
diff --git a/MediaBrowser.Providers/TV/FanArtTVProvider.cs b/MediaBrowser.Providers/TV/FanArtTVProvider.cs
index 90af81ec3..8bb56dabd 100644
--- a/MediaBrowser.Providers/TV/FanArtTVProvider.cs
+++ b/MediaBrowser.Providers/TV/FanArtTVProvider.cs
@@ -167,7 +167,7 @@ namespace MediaBrowser.Providers.TV
var seriesId = item.GetProviderId(MetadataProviders.Tvdb);
- if (!string.IsNullOrEmpty(seriesId))
+ if (!string.IsNullOrEmpty(seriesId) && !item.LockedFields.Contains(MetadataFields.Images))
{
var xmlPath = GetFanartXmlPath(seriesId);
diff --git a/MediaBrowser.Providers/TV/TvdbPersonImageProvider.cs b/MediaBrowser.Providers/TV/TvdbPersonImageProvider.cs
index 3a503ea20..f2ce92efd 100644
--- a/MediaBrowser.Providers/TV/TvdbPersonImageProvider.cs
+++ b/MediaBrowser.Providers/TV/TvdbPersonImageProvider.cs
@@ -75,9 +75,10 @@ namespace MediaBrowser.Providers.TV
SetLastRefreshed(item, DateTime.UtcNow, providerInfo);
return true;
}
+
private async Task DownloadImages(BaseItem item, List<RemoteImageInfo> images, CancellationToken cancellationToken)
{
- if (!item.HasImage(ImageType.Primary))
+ if (!item.HasImage(ImageType.Primary) && !item.LockedFields.Contains(MetadataFields.Images))
{
var image = images.FirstOrDefault(i => i.Type == ImageType.Primary);
diff --git a/MediaBrowser.Providers/TV/TvdbSeasonProvider.cs b/MediaBrowser.Providers/TV/TvdbSeasonProvider.cs
index c5e5327c3..76e70d772 100644
--- a/MediaBrowser.Providers/TV/TvdbSeasonProvider.cs
+++ b/MediaBrowser.Providers/TV/TvdbSeasonProvider.cs
@@ -147,11 +147,14 @@ namespace MediaBrowser.Providers.TV
{
cancellationToken.ThrowIfCancellationRequested();
- var images = await _providerManager.GetAvailableRemoteImages(item, cancellationToken, ManualTvdbSeasonImageProvider.ProviderName).ConfigureAwait(false);
+ if (!item.LockedFields.Contains(MetadataFields.Images))
+ {
+ var images = await _providerManager.GetAvailableRemoteImages(item, cancellationToken, ManualTvdbSeasonImageProvider.ProviderName).ConfigureAwait(false);
- const int backdropLimit = 1;
+ const int backdropLimit = 1;
- await DownloadImages(item, images.ToList(), backdropLimit, cancellationToken).ConfigureAwait(false);
+ await DownloadImages(item, images.ToList(), backdropLimit, cancellationToken).ConfigureAwait(false);
+ }
SetLastRefreshed(item, DateTime.UtcNow, providerInfo);
return true;
diff --git a/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs b/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs
index c1ac0e386..752ce0280 100644
--- a/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs
+++ b/MediaBrowser.Providers/TV/TvdbSeriesImageProvider.cs
@@ -155,11 +155,14 @@ namespace MediaBrowser.Providers.TV
{
cancellationToken.ThrowIfCancellationRequested();
- var images = await _providerManager.GetAvailableRemoteImages(item, cancellationToken, ManualTvdbSeriesImageProvider.ProviderName).ConfigureAwait(false);
+ if (!item.LockedFields.Contains(MetadataFields.Images))
+ {
+ var images = await _providerManager.GetAvailableRemoteImages(item, cancellationToken, ManualTvdbSeriesImageProvider.ProviderName).ConfigureAwait(false);
- const int backdropLimit = 1;
+ const int backdropLimit = 1;
- await DownloadImages(item, images.ToList(), backdropLimit, cancellationToken).ConfigureAwait(false);
+ await DownloadImages(item, images.ToList(), backdropLimit, cancellationToken).ConfigureAwait(false);
+ }
SetLastRefreshed(item, DateTime.UtcNow, providerInfo);
return true;