aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-26 10:51:48 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-26 10:51:48 -0400
commite57deb61ae1e0deef6b29f015fcfdbec382421e0 (patch)
tree3452c5b6c6c9f203a956bc4bbefb98b1929d907f
parent83446ae5fea9fa0c22f04e732bba049d24e96a62 (diff)
fixes #313 - Corrupt TVDB source causing issue?
-rw-r--r--MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs35
1 files changed, 25 insertions, 10 deletions
diff --git a/MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs b/MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs
index 5e1f5f8dd..00f81ec19 100644
--- a/MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs
+++ b/MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Common.Extensions;
+using System.Net;
+using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
@@ -10,6 +11,7 @@ using System.IO;
using System.Threading;
using System.Threading.Tasks;
using System.Xml;
+using MediaBrowser.Model.Net;
namespace MediaBrowser.Controller.Providers.TV
{
@@ -244,15 +246,28 @@ namespace MediaBrowser.Controller.Providers.TV
n = n.SelectSingleNode("./BannerPath");
if (n != null)
{
- var bannerImagePath =
- await _providerManager.DownloadAndSaveImage(season,
- TVUtils.BannerUrl + n.InnerText,
- "banner" +
- Path.GetExtension(n.InnerText),
- ConfigurationManager.Configuration.SaveLocalMeta, RemoteSeriesProvider.Current.TvDbResourcePool, cancellationToken).
- ConfigureAwait(false);
-
- season.SetImage(ImageType.Banner, bannerImagePath);
+ try
+ {
+ var bannerImagePath =
+ await _providerManager.DownloadAndSaveImage(season,
+ TVUtils.BannerUrl + n.InnerText,
+ "banner" +
+ Path.GetExtension(n.InnerText),
+ ConfigurationManager.Configuration.SaveLocalMeta, RemoteSeriesProvider.Current.TvDbResourcePool, cancellationToken).
+ ConfigureAwait(false);
+
+ season.SetImage(ImageType.Banner, bannerImagePath);
+ }
+ catch (HttpException ex)
+ {
+ Logger.ErrorException("Error downloading season banner for {0}", ex, season.Path);
+
+ // Sometimes banners will come up not found even though they're reported in tvdb xml
+ if (ex.StatusCode.HasValue && ex.StatusCode.Value != HttpStatusCode.NotFound)
+ {
+ throw;
+ }
+ }
}
}
}