diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-05-26 10:51:48 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-05-26 10:51:48 -0400 |
| commit | e57deb61ae1e0deef6b29f015fcfdbec382421e0 (patch) | |
| tree | 3452c5b6c6c9f203a956bc4bbefb98b1929d907f | |
| parent | 83446ae5fea9fa0c22f04e732bba049d24e96a62 (diff) | |
fixes #313 - Corrupt TVDB source causing issue?
| -rw-r--r-- | MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs | 35 |
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; + } + } } } } |
