From d440e89c507ba1c764c24d53bfe85d747b7beb8b Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 27 Jul 2015 01:03:34 -0400 Subject: update schedules direct page --- .../Photos/BaseDynamicImageProvider.cs | 54 +++++++++++++++++----- 1 file changed, 42 insertions(+), 12 deletions(-) (limited to 'MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs') 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 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) -- cgit v1.2.3