diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-10-30 12:45:22 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-10-30 12:45:22 -0400 |
| commit | 8ea02ee02068f7e7361e143301b51ca57e45615a (patch) | |
| tree | 2697b01c5b6189d9c1e32e572a32a97cbc9cb846 /MediaBrowser.Server.Implementations | |
| parent | 9bfb2f081328f8877bdb0ce3a05e76e6488ce5ae (diff) | |
update dynamic images
Diffstat (limited to 'MediaBrowser.Server.Implementations')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs | 72 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/Photos/PhotoAlbumImageProvider.cs | 2 |
2 files changed, 9 insertions, 65 deletions
diff --git a/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs b/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs index 2402d3ec1..fd34e3248 100644 --- a/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs +++ b/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs @@ -76,20 +76,13 @@ namespace MediaBrowser.Server.Implementations.Photos protected async Task<ItemUpdateType> FetchAsync(IHasImages item, ImageType imageType, MetadataRefreshOptions options, CancellationToken cancellationToken) { var items = await GetItemsWithImages(item).ConfigureAwait(false); - var cacheKey = GetConfigurationCacheKey(items, item.Name); - if (!HasChanged(item, imageType, cacheKey)) - { - return ItemUpdateType.None; - } - - return await FetchToFileInternal(item, items, imageType, cacheKey, cancellationToken).ConfigureAwait(false); + return await FetchToFileInternal(item, items, imageType, cancellationToken).ConfigureAwait(false); } protected async Task<ItemUpdateType> FetchToFileInternal(IHasImages item, List<BaseItem> itemsWithImages, ImageType imageType, - string cacheKey, CancellationToken cancellationToken) { var outputPathWithoutExtension = Path.Combine(ApplicationPaths.TempDirectory, Guid.NewGuid().ToString("N")); @@ -101,22 +94,13 @@ namespace MediaBrowser.Server.Implementations.Photos return ItemUpdateType.None; } - await ProviderManager.SaveImage(item, outputPath, "image/png", imageType, null, cacheKey, cancellationToken).ConfigureAwait(false); + await ProviderManager.SaveImage(item, outputPath, "image/png", imageType, null, Guid.NewGuid().ToString("N"), cancellationToken).ConfigureAwait(false); return ItemUpdateType.ImageUpdate; } protected abstract Task<List<BaseItem>> GetItemsWithImages(IHasImages item); - private const string Version = "32"; - protected string GetConfigurationCacheKey(List<BaseItem> items, string itemName) - { - var parts = Version + "_" + (itemName ?? string.Empty) + "_" + - string.Join(",", items.Select(i => i.Id.ToString("N")).ToArray()); - - return parts.GetMD5().ToString("N"); - } - protected Task<string> CreateThumbCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath) { return CreateCollage(primaryItem, items, outputPath, 640, 360); @@ -224,7 +208,10 @@ namespace MediaBrowser.Server.Implementations.Photos throw new ArgumentException("Unexpected image type"); } - private const int MaxImageAgeDays = 7; + protected virtual int MaxImageAgeDays + { + get { return 7; } + } public bool HasChanged(IHasMetadata item, IDirectoryService directoryService, DateTime date) { @@ -235,28 +222,11 @@ namespace MediaBrowser.Server.Implementations.Photos var supportedImages = GetSupportedImages(item).ToList(); - if (item is UserView || item is ICollectionFolder) - { - 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); - - if (supportedImages.Contains(ImageType.Primary) && HasChanged(item, ImageType.Primary, cacheKey)) + if (supportedImages.Contains(ImageType.Primary) && HasChanged(item, ImageType.Primary)) { return true; } - if (supportedImages.Contains(ImageType.Thumb) && HasChanged(item, ImageType.Thumb, cacheKey)) + if (supportedImages.Contains(ImageType.Thumb) && HasChanged(item, ImageType.Thumb)) { return true; } @@ -264,32 +234,6 @@ namespace MediaBrowser.Server.Implementations.Photos return false; } - protected bool HasChanged(IHasImages item, ImageType type, string cacheKey) - { - var image = item.GetImageInfo(type, 0); - - if (image != null) - { - if (!image.IsLocalFile) - { - return false; - } - - if (!FileSystem.ContainsSubPath(item.GetInternalMetadataPath(), image.Path)) - { - return false; - } - - var currentPathCacheKey = (Path.GetFileNameWithoutExtension(image.Path) ?? string.Empty).Split('_').LastOrDefault(); - if (string.Equals(cacheKey, currentPathCacheKey, StringComparison.OrdinalIgnoreCase)) - { - return false; - } - } - - return true; - } - protected bool HasChanged(IHasImages item, ImageType type) { var image = item.GetImageInfo(type, 0); diff --git a/MediaBrowser.Server.Implementations/Photos/PhotoAlbumImageProvider.cs b/MediaBrowser.Server.Implementations/Photos/PhotoAlbumImageProvider.cs index 32b046d3a..3abb7e70e 100644 --- a/MediaBrowser.Server.Implementations/Photos/PhotoAlbumImageProvider.cs +++ b/MediaBrowser.Server.Implementations/Photos/PhotoAlbumImageProvider.cs @@ -21,7 +21,7 @@ namespace MediaBrowser.Server.Implementations.Photos protected override Task<List<BaseItem>> GetItemsWithImages(IHasImages item) { var photoAlbum = (PhotoAlbum)item; - var items = GetFinalItems(photoAlbum.Children.ToList(), 1); + var items = GetFinalItems(photoAlbum.Children.ToList()); return Task.FromResult(items); } |
