aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-07-27 01:03:34 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-07-27 01:03:34 -0400
commitd440e89c507ba1c764c24d53bfe85d747b7beb8b (patch)
tree28a5a2c5dd6b95095b0c4c9b9dc818289172ef6e /MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs
parent1bf9c446d93f5b9aae9a8f24439690beb0be3295 (diff)
update schedules direct page
Diffstat (limited to 'MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs54
1 files changed, 42 insertions, 12 deletions
diff --git a/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs b/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs
index ef12544ba..eb25c7d79 100644
--- a/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs
+++ b/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs
@@ -53,10 +53,23 @@ namespace MediaBrowser.Server.Implementations.Photos
return ItemUpdateType.None;
}
- var primaryResult = await FetchAsync(item, ImageType.Primary, options, cancellationToken).ConfigureAwait(false);
- var thumbResult = await FetchAsync(item, ImageType.Thumb, options, cancellationToken).ConfigureAwait(false);
+ var updateType = ItemUpdateType.None;
+ var supportedImages = GetSupportedImages(item).ToList();
- return primaryResult | thumbResult;
+ if (supportedImages.Contains(ImageType.Primary))
+ {
+ var primaryResult = await FetchAsync(item, ImageType.Primary, options, cancellationToken).ConfigureAwait(false);
+ updateType = updateType | primaryResult;
+ }
+
+ if (supportedImages.Contains(ImageType.Thumb))
+ {
+ var thumbResult = await FetchAsync(item, ImageType.Thumb, options, cancellationToken).ConfigureAwait(false);
+ updateType = updateType | thumbResult;
+ }
+
+
+ return updateType;
}
protected async Task<ItemUpdateType> FetchAsync(IHasImages item, ImageType imageType, MetadataRefreshOptions options, CancellationToken cancellationToken)
@@ -168,7 +181,7 @@ namespace MediaBrowser.Server.Implementations.Photos
return false;
}
- var drawText = !(item is UserView);
+ var drawText = !(item is UserView) && !(item is ICollectionFolder);
if (imageType == ImageType.Thumb)
{
@@ -181,14 +194,11 @@ namespace MediaBrowser.Server.Implementations.Photos
{
return await CreateSquareCollage(item, itemsWithImages, outputPath, drawText).ConfigureAwait(false);
}
- else if (item is PhotoAlbum || item is Playlist)
+ if (item is PhotoAlbum || item is Playlist)
{
return await CreateSquareCollage(item, itemsWithImages, outputPath, drawText).ConfigureAwait(false);
}
- else
- {
- return await CreatePosterCollage(item, itemsWithImages, outputPath).ConfigureAwait(false);
- }
+ return await CreatePosterCollage(item, itemsWithImages, outputPath).ConfigureAwait(false);
}
throw new ArgumentException("Unexpected image type");
@@ -203,15 +213,35 @@ namespace MediaBrowser.Server.Implementations.Photos
return false;
}
- if (item is UserView)
+ var supportedImages = GetSupportedImages(item).ToList();
+
+ if (item is UserView || item is ICollectionFolder)
{
- return HasChanged(item, ImageType.Primary);
+ if (supportedImages.Contains(ImageType.Primary) && HasChanged(item, ImageType.Primary))
+ {
+ return true;
+ }
+ if (supportedImages.Contains(ImageType.Thumb) && HasChanged(item, ImageType.Thumb))
+ {
+ return true;
+ }
+
+ return false;
}
var items = GetItemsWithImages(item).Result;
var cacheKey = GetConfigurationCacheKey(items, item.Name);
- return HasChanged(item, ImageType.Primary, cacheKey) || HasChanged(item, ImageType.Thumb, cacheKey);
+ if (supportedImages.Contains(ImageType.Primary) && HasChanged(item, ImageType.Primary, cacheKey))
+ {
+ return true;
+ }
+ if (supportedImages.Contains(ImageType.Thumb) && HasChanged(item, ImageType.Thumb, cacheKey))
+ {
+ return true;
+ }
+
+ return false;
}
protected bool HasChanged(IHasImages item, ImageType type, string cacheKey)