diff --git a/MediaBrowser.Controller/Providers/Movies/FanArtMovieProvider.cs b/MediaBrowser.Controller/Providers/Movies/FanArtMovieProvider.cs index ab7f87d696..ce9652b594 100644 --- a/MediaBrowser.Controller/Providers/Movies/FanArtMovieProvider.cs +++ b/MediaBrowser.Controller/Providers/Movies/FanArtMovieProvider.cs @@ -361,7 +361,7 @@ namespace MediaBrowser.Controller.Providers.Movies } } - if (ConfigurationManager.Configuration.DownloadMovieImages.Backdrops && item.BackdropImagePaths.Count < ConfigurationManager.Configuration.MaxBackdrops) + if (ConfigurationManager.Configuration.DownloadMovieImages.Backdrops && item.BackdropImagePaths.Count == 0) { var nodes = doc.SelectNodes("//fanart/movie/moviebackgrounds//@url"); diff --git a/MediaBrowser.Controller/Providers/Movies/MovieDbImagesProvider.cs b/MediaBrowser.Controller/Providers/Movies/MovieDbImagesProvider.cs index 122b0ef910..64f60d17b3 100644 --- a/MediaBrowser.Controller/Providers/Movies/MovieDbImagesProvider.cs +++ b/MediaBrowser.Controller/Providers/Movies/MovieDbImagesProvider.cs @@ -231,10 +231,8 @@ namespace MediaBrowser.Controller.Providers.Movies var status = ProviderRefreshStatus.Success; - var hasLocalPoster = item.HasImage(ImageType.Primary); - // poster - if (images.posters != null && images.posters.Count > 0 && (ConfigurationManager.Configuration.RefreshItemImages || !hasLocalPoster)) + if (images.posters != null && images.posters.Count > 0 && !item.HasImage(ImageType.Primary)) { var tmdbSettings = await MovieDbProvider.Current.GetTmdbSettings(cancellationToken).ConfigureAwait(false); @@ -281,16 +279,13 @@ namespace MediaBrowser.Controller.Providers.Movies var tmdbImageUrl = tmdbSettings.images.base_url + ConfigurationManager.Configuration.TmdbFetchedBackdropSize; - //backdrops should be in order of rating. get first n ones - var numToFetch = Math.Max(images.backdrops.Count - ConfigurationManager.Configuration.MaxBackdrops, 0); - - for (var i = 0; i < numToFetch; i++) + for (var i = 0; i < images.backdrops.Count; i++) { var bdName = "backdrop" + (i == 0 ? "" : i.ToString(CultureInfo.InvariantCulture)); var hasLocalBackdrop = item.LocationType == LocationType.FileSystem && ConfigurationManager.Configuration.SaveLocalMeta ? item.HasLocalImage(bdName) : item.BackdropImagePaths.Count > i; - if (ConfigurationManager.Configuration.RefreshItemImages || !hasLocalBackdrop) + if (!hasLocalBackdrop) { var img = await MovieDbProvider.Current.GetMovieDbResponse(new HttpRequestOptions { @@ -301,6 +296,11 @@ namespace MediaBrowser.Controller.Providers.Movies item.BackdropImagePaths.Add(await _providerManager.SaveImage(item, img, bdName + Path.GetExtension(images.backdrops[i].file_path), ConfigurationManager.Configuration.SaveLocalMeta && item.LocationType == LocationType.FileSystem, cancellationToken).ConfigureAwait(false)); } + + if (item.BackdropImagePaths.Count >= ConfigurationManager.Configuration.MaxBackdrops) + { + break; + } } } diff --git a/MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs b/MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs index 00f81ec192..5baaf9cd58 100644 --- a/MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs +++ b/MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs @@ -224,7 +224,7 @@ namespace MediaBrowser.Controller.Providers.TV return; } - if (ConfigurationManager.Configuration.RefreshItemImages || !season.HasImage(ImageType.Primary)) + if (!season.HasImage(ImageType.Primary)) { var n = images.SelectSingleNode("//Banner[BannerType='season'][BannerType2='season'][Season='" + seasonNumber + "'][Language='" + ConfigurationManager.Configuration.PreferredMetadataLanguage + "']") ?? images.SelectSingleNode("//Banner[BannerType='season'][BannerType2='season'][Season='" + seasonNumber + "'][Language='en']"); @@ -237,7 +237,7 @@ namespace MediaBrowser.Controller.Providers.TV } } - if (ConfigurationManager.Configuration.DownloadSeasonImages.Banner && (ConfigurationManager.Configuration.RefreshItemImages || !season.HasImage(ImageType.Banner))) + if (ConfigurationManager.Configuration.DownloadSeasonImages.Banner && !season.HasImage(ImageType.Banner)) { var n = images.SelectSingleNode("//Banner[BannerType='season'][BannerType2='seasonwide'][Season='" + seasonNumber + "'][Language='" + ConfigurationManager.Configuration.PreferredMetadataLanguage + "']") ?? images.SelectSingleNode("//Banner[BannerType='season'][BannerType2='seasonwide'][Season='" + seasonNumber + "'][Language='en']"); @@ -272,7 +272,7 @@ namespace MediaBrowser.Controller.Providers.TV } } - if (ConfigurationManager.Configuration.DownloadSeasonImages.Backdrops && (ConfigurationManager.Configuration.RefreshItemImages || season.BackdropImagePaths.Count == 0)) + if (ConfigurationManager.Configuration.DownloadSeasonImages.Backdrops && season.BackdropImagePaths.Count == 0) { var n = images.SelectSingleNode("//Banner[BannerType='fanart'][Season='" + seasonNumber + "']"); if (n != null) diff --git a/MediaBrowser.Controller/Providers/TV/TvdbSeriesImageProvider.cs b/MediaBrowser.Controller/Providers/TV/TvdbSeriesImageProvider.cs index c183075d68..ba77205b31 100644 --- a/MediaBrowser.Controller/Providers/TV/TvdbSeriesImageProvider.cs +++ b/MediaBrowser.Controller/Providers/TV/TvdbSeriesImageProvider.cs @@ -226,7 +226,7 @@ namespace MediaBrowser.Controller.Providers.TV /// Task. private async Task FetchImages(Series series, XmlDocument images, CancellationToken cancellationToken) { - if (ConfigurationManager.Configuration.RefreshItemImages || !series.HasImage(ImageType.Primary)) + if (!series.HasImage(ImageType.Primary)) { var n = images.SelectSingleNode("//Banner[BannerType='poster']"); if (n != null) @@ -239,7 +239,7 @@ namespace MediaBrowser.Controller.Providers.TV } } - if (ConfigurationManager.Configuration.DownloadSeriesImages.Banner && (ConfigurationManager.Configuration.RefreshItemImages || !series.HasImage(ImageType.Banner))) + if (ConfigurationManager.Configuration.DownloadSeriesImages.Banner && !series.HasImage(ImageType.Banner)) { var n = images.SelectSingleNode("//Banner[BannerType='series']"); if (n != null)