aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/Manager
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-25 10:40:16 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-25 10:40:16 -0500
commitaef805efb9e1655978bb1a71990f1060a3dcf768 (patch)
treeb1ef969377e2337d17cc2feb9a83ea774b12bb63 /MediaBrowser.Providers/Manager
parent7497fe9554482fcdf78ed49c436edba0b20c8350 (diff)
fix directory not found error in episode organization
Diffstat (limited to 'MediaBrowser.Providers/Manager')
-rw-r--r--MediaBrowser.Providers/Manager/ItemImageProvider.cs22
1 files changed, 19 insertions, 3 deletions
diff --git a/MediaBrowser.Providers/Manager/ItemImageProvider.cs b/MediaBrowser.Providers/Manager/ItemImageProvider.cs
index 7610f72490..a0ab069d3d 100644
--- a/MediaBrowser.Providers/Manager/ItemImageProvider.cs
+++ b/MediaBrowser.Providers/Manager/ItemImageProvider.cs
@@ -60,8 +60,8 @@ namespace MediaBrowser.Providers.Manager
var providerIds = new List<Guid>();
// In order to avoid duplicates, only download these if there are none already
- var backdropLimit = item.HasImage(ImageType.Backdrop) ? 0 : savedOptions.GetLimit(ImageType.Backdrop);
- var screenshotLimit = item.HasImage(ImageType.Screenshot) ? 0 : savedOptions.GetLimit(ImageType.Screenshot);
+ var backdropLimit = savedOptions.GetLimit(ImageType.Backdrop);
+ var screenshotLimit = savedOptions.GetLimit(ImageType.Screenshot);
foreach (var provider in providers)
{
@@ -362,9 +362,25 @@ namespace MediaBrowser.Providers.Manager
{
var response = await provider.GetImageResponse(url, cancellationToken).ConfigureAwait(false);
+ // If there's already an image of the same size, skip it
+ if (response.ContentLength.HasValue)
+ {
+ try
+ {
+ if (item.GetImages(imageType).Any(i => new FileInfo(i.Path).Length == response.ContentLength.Value))
+ {
+ response.Content.Dispose();
+ continue;
+ }
+ }
+ catch (IOException ex)
+ {
+ _logger.ErrorException("Error examining images", ex);
+ }
+ }
+
await _providerManager.SaveImage(item, response.Content, response.ContentType, imageType, null, cancellationToken).ConfigureAwait(false);
result.UpdateType = result.UpdateType | ItemUpdateType.ImageUpdate;
- break;
}
catch (HttpException ex)
{