aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-06 11:49:14 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-06 11:49:14 -0400
commit61d5c9a27b0b987e0c5930cc05d519402f12deff (patch)
tree00a043580df268a7e0c0496d08ccce4a58d63386
parentf3bd103e91b01115cae14aeccec79a31a7184d4c (diff)
support fanart for trailers
-rw-r--r--MediaBrowser.Controller/Providers/Movies/FanArtMovieProvider.cs56
1 files changed, 41 insertions, 15 deletions
diff --git a/MediaBrowser.Controller/Providers/Movies/FanArtMovieProvider.cs b/MediaBrowser.Controller/Providers/Movies/FanArtMovieProvider.cs
index 545397369..fc50254cf 100644
--- a/MediaBrowser.Controller/Providers/Movies/FanArtMovieProvider.cs
+++ b/MediaBrowser.Controller/Providers/Movies/FanArtMovieProvider.cs
@@ -69,6 +69,13 @@ namespace MediaBrowser.Controller.Providers.Movies
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns>
public override bool Supports(BaseItem item)
{
+ var trailer = item as Trailer;
+
+ if (trailer != null)
+ {
+ return !trailer.IsLocalTrailer;
+ }
+
return item is Movie || item is BoxSet;
}
@@ -125,11 +132,19 @@ namespace MediaBrowser.Controller.Providers.Movies
cancellationToken.ThrowIfCancellationRequested();
+ var saveLocal = ConfigurationManager.Configuration.SaveLocalMeta &&
+ item.LocationType == LocationType.FileSystem;
+
if (doc.HasChildNodes)
{
string path;
var hd = ConfigurationManager.Configuration.DownloadHDFanArt ? "hd" : "";
- if (ConfigurationManager.Configuration.DownloadMovieImages.Logo && !item.ResolveArgs.ContainsMetaFileByName(LOGO_FILE))
+
+ var hasLogo = item.LocationType == LocationType.FileSystem ?
+ item.ResolveArgs.ContainsMetaFileByName(LOGO_FILE)
+ : item.HasImage(ImageType.Logo);
+
+ if (ConfigurationManager.Configuration.DownloadMovieImages.Logo && !hasLogo)
{
var node =
doc.SelectSingleNode("//fanart/movie/movielogos/" + hd + "movielogo[@lang = \"" + language + "\"]/@url") ??
@@ -142,10 +157,9 @@ namespace MediaBrowser.Controller.Providers.Movies
path = node != null ? node.Value : null;
if (!string.IsNullOrEmpty(path))
{
- Logger.Debug("FanArtProvider getting ClearLogo for " + movie.Name);
try
{
- movie.SetImage(ImageType.Logo, await _providerManager.DownloadAndSaveImage(movie, path, LOGO_FILE, ConfigurationManager.Configuration.SaveLocalMeta, FanArtResourcePool, cancellationToken).ConfigureAwait(false));
+ movie.SetImage(ImageType.Logo, await _providerManager.DownloadAndSaveImage(movie, path, LOGO_FILE, saveLocal, FanArtResourcePool, cancellationToken).ConfigureAwait(false));
}
catch (HttpException)
{
@@ -158,7 +172,11 @@ namespace MediaBrowser.Controller.Providers.Movies
}
cancellationToken.ThrowIfCancellationRequested();
- if (ConfigurationManager.Configuration.DownloadMovieImages.Art && !item.ResolveArgs.ContainsMetaFileByName(ART_FILE))
+ var hasArt = item.LocationType == LocationType.FileSystem ?
+ item.ResolveArgs.ContainsMetaFileByName(ART_FILE)
+ : item.HasImage(ImageType.Art);
+
+ if (ConfigurationManager.Configuration.DownloadMovieImages.Art && !hasArt)
{
var node =
doc.SelectSingleNode("//fanart/movie/moviearts/" + hd + "movieart[@lang = \"" + language + "\"]/@url") ??
@@ -168,10 +186,9 @@ namespace MediaBrowser.Controller.Providers.Movies
path = node != null ? node.Value : null;
if (!string.IsNullOrEmpty(path))
{
- Logger.Debug("FanArtProvider getting ClearArt for " + movie.Name);
try
{
- movie.SetImage(ImageType.Art, await _providerManager.DownloadAndSaveImage(movie, path, ART_FILE, ConfigurationManager.Configuration.SaveLocalMeta, FanArtResourcePool, cancellationToken).ConfigureAwait(false));
+ movie.SetImage(ImageType.Art, await _providerManager.DownloadAndSaveImage(movie, path, ART_FILE, saveLocal, FanArtResourcePool, cancellationToken).ConfigureAwait(false));
}
catch (HttpException)
{
@@ -184,17 +201,20 @@ namespace MediaBrowser.Controller.Providers.Movies
}
cancellationToken.ThrowIfCancellationRequested();
- if (ConfigurationManager.Configuration.DownloadMovieImages.Disc && !item.ResolveArgs.ContainsMetaFileByName(DISC_FILE))
+ var hasDisc = item.LocationType == LocationType.FileSystem ?
+ item.ResolveArgs.ContainsMetaFileByName(DISC_FILE)
+ : item.HasImage(ImageType.Disc);
+
+ if (ConfigurationManager.Configuration.DownloadMovieImages.Disc && !hasDisc)
{
var node = doc.SelectSingleNode("//fanart/movie/moviediscs/moviedisc[@lang = \"" + language + "\"]/@url") ??
doc.SelectSingleNode("//fanart/movie/moviediscs/moviedisc/@url");
path = node != null ? node.Value : null;
if (!string.IsNullOrEmpty(path))
{
- Logger.Debug("FanArtProvider getting DiscArt for " + movie.Name);
try
{
- movie.SetImage(ImageType.Disc, await _providerManager.DownloadAndSaveImage(movie, path, DISC_FILE, ConfigurationManager.Configuration.SaveLocalMeta, FanArtResourcePool, cancellationToken).ConfigureAwait(false));
+ movie.SetImage(ImageType.Disc, await _providerManager.DownloadAndSaveImage(movie, path, DISC_FILE, saveLocal, FanArtResourcePool, cancellationToken).ConfigureAwait(false));
}
catch (HttpException)
{
@@ -208,17 +228,20 @@ namespace MediaBrowser.Controller.Providers.Movies
cancellationToken.ThrowIfCancellationRequested();
- if (ConfigurationManager.Configuration.DownloadMovieImages.Banner && !item.ResolveArgs.ContainsMetaFileByName(BANNER_FILE))
+ var hasBanner = item.LocationType == LocationType.FileSystem ?
+ item.ResolveArgs.ContainsMetaFileByName(BANNER_FILE)
+ : item.HasImage(ImageType.Banner);
+
+ if (ConfigurationManager.Configuration.DownloadMovieImages.Banner && !hasBanner)
{
var node = doc.SelectSingleNode("//fanart/movie/moviebanners/moviebanner[@lang = \"" + language + "\"]/@url") ??
doc.SelectSingleNode("//fanart/movie/moviebanners/moviebanner/@url");
path = node != null ? node.Value : null;
if (!string.IsNullOrEmpty(path))
{
- Logger.Debug("FanArtProvider getting Banner for " + movie.Name);
try
{
- movie.SetImage(ImageType.Banner, await _providerManager.DownloadAndSaveImage(movie, path, BANNER_FILE, ConfigurationManager.Configuration.SaveLocalMeta, FanArtResourcePool, cancellationToken).ConfigureAwait(false));
+ movie.SetImage(ImageType.Banner, await _providerManager.DownloadAndSaveImage(movie, path, BANNER_FILE, saveLocal, FanArtResourcePool, cancellationToken).ConfigureAwait(false));
}
catch (HttpException)
{
@@ -232,17 +255,20 @@ namespace MediaBrowser.Controller.Providers.Movies
cancellationToken.ThrowIfCancellationRequested();
- if (ConfigurationManager.Configuration.DownloadMovieImages.Thumb && !item.ResolveArgs.ContainsMetaFileByName(THUMB_FILE))
+ var hasThumb = item.LocationType == LocationType.FileSystem ?
+ item.ResolveArgs.ContainsMetaFileByName(THUMB_FILE)
+ : item.HasImage(ImageType.Thumb);
+
+ if (ConfigurationManager.Configuration.DownloadMovieImages.Thumb && !hasThumb)
{
var node = doc.SelectSingleNode("//fanart/movie/moviethumbs/moviethumb[@lang = \"" + language + "\"]/@url") ??
doc.SelectSingleNode("//fanart/movie/moviethumbs/moviethumb/@url");
path = node != null ? node.Value : null;
if (!string.IsNullOrEmpty(path))
{
- Logger.Debug("FanArtProvider getting Banner for " + movie.Name);
try
{
- movie.SetImage(ImageType.Thumb, await _providerManager.DownloadAndSaveImage(movie, path, THUMB_FILE, ConfigurationManager.Configuration.SaveLocalMeta, FanArtResourcePool, cancellationToken).ConfigureAwait(false));
+ movie.SetImage(ImageType.Thumb, await _providerManager.DownloadAndSaveImage(movie, path, THUMB_FILE, saveLocal, FanArtResourcePool, cancellationToken).ConfigureAwait(false));
}
catch (HttpException)
{