From 62621bf97bb9509fccc4c8fdc73b393febf48034 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 16 Oct 2013 10:39:33 -0400 Subject: [PATCH] fixes #591 - Support new fanart movie posters --- .../Movies/FanArtMovieProvider.cs | 20 +++++++++++++++++-- MediaBrowser.Providers/TV/FanArtTVProvider.cs | 1 + 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs b/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs index 1e1b6830a4..dff2a63c53 100644 --- a/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs +++ b/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs @@ -141,12 +141,14 @@ namespace MediaBrowser.Providers.Movies !ConfigurationManager.Configuration.DownloadMovieImages.Disc && !ConfigurationManager.Configuration.DownloadMovieImages.Backdrops && !ConfigurationManager.Configuration.DownloadMovieImages.Banner && - !ConfigurationManager.Configuration.DownloadMovieImages.Thumb) + !ConfigurationManager.Configuration.DownloadMovieImages.Thumb && + !ConfigurationManager.Configuration.DownloadMovieImages.Primary) { return false; } - if (item.HasImage(ImageType.Art) && + if (item.HasImage(ImageType.Primary) && + item.HasImage(ImageType.Art) && item.HasImage(ImageType.Logo) && item.HasImage(ImageType.Disc) && item.HasImage(ImageType.Banner) && @@ -298,6 +300,20 @@ namespace MediaBrowser.Providers.Movies string path; + if (ConfigurationManager.Configuration.DownloadMovieImages.Disc && !item.HasImage(ImageType.Disc)) + { + var node = doc.SelectSingleNode("//fanart/movie/movieposters/movieposter[@lang = \"" + language + "\"]/@url") ?? + doc.SelectSingleNode("//fanart/movie/movieposters/movieposter/@url"); + path = node != null ? node.Value : null; + if (!string.IsNullOrEmpty(path)) + { + await _providerManager.SaveImage(item, path, FanArtResourcePool, ImageType.Disc, null, cancellationToken) + .ConfigureAwait(false); + } + } + + cancellationToken.ThrowIfCancellationRequested(); + if (ConfigurationManager.Configuration.DownloadMovieImages.Logo && !item.HasImage(ImageType.Logo)) { var node = diff --git a/MediaBrowser.Providers/TV/FanArtTVProvider.cs b/MediaBrowser.Providers/TV/FanArtTVProvider.cs index 94296fd366..5412266090 100644 --- a/MediaBrowser.Providers/TV/FanArtTVProvider.cs +++ b/MediaBrowser.Providers/TV/FanArtTVProvider.cs @@ -126,6 +126,7 @@ namespace MediaBrowser.Providers.TV catch (DirectoryNotFoundException) { // Don't blow up + return true; } }