From 1ed03b0bb328e4d5c48c560c06aab55b4c75cd46 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 5 Jan 2014 01:08:22 -0500 Subject: added more images to search output --- MediaBrowser.Api/SearchService.cs | 52 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) (limited to 'MediaBrowser.Api/SearchService.cs') diff --git a/MediaBrowser.Api/SearchService.cs b/MediaBrowser.Api/SearchService.cs index a497ba001..f83c0a771 100644 --- a/MediaBrowser.Api/SearchService.cs +++ b/MediaBrowser.Api/SearchService.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Controller; -using MediaBrowser.Controller.Drawing; +using MediaBrowser.Controller.Drawing; using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; @@ -157,6 +156,9 @@ namespace MediaBrowser.Api result.PrimaryImageTag = _imageProcessor.GetImageCacheTag(item, ImageType.Primary, item.GetImagePath(ImageType.Primary)); } + SetThumbImageInfo(result, item); + SetBackdropImageInfo(result, item); + var episode = item as Episode; if (episode != null) @@ -205,5 +207,51 @@ namespace MediaBrowser.Api return result; } + + private void SetThumbImageInfo(SearchHint hint, BaseItem item) + { + var itemWithImage = item.HasImage(ImageType.Thumb) ? item : null; + + if (itemWithImage == null) + { + if (item is Episode) + { + itemWithImage = GetParentWithImage(item, ImageType.Thumb); + } + } + + if (itemWithImage == null) + { + itemWithImage = GetParentWithImage(item, ImageType.Thumb); + } + + if (itemWithImage != null) + { + hint.ThumbImageTag = _imageProcessor.GetImageCacheTag(itemWithImage, ImageType.Thumb, itemWithImage.GetImagePath(ImageType.Thumb)); + hint.ThumbImageItemId = itemWithImage.Id.ToString("N"); + } + } + + private void SetBackdropImageInfo(SearchHint hint, BaseItem item) + { + var itemWithImage = item.HasImage(ImageType.Backdrop) ? item : null; + + if (itemWithImage == null) + { + itemWithImage = GetParentWithImage(item, ImageType.Backdrop); + } + + if (itemWithImage != null) + { + hint.BackdropImageTag = _imageProcessor.GetImageCacheTag(itemWithImage, ImageType.Backdrop, itemWithImage.GetImagePath(ImageType.Backdrop, 0)); + hint.BackdropImageItemId = itemWithImage.Id.ToString("N"); + } + } + + private T GetParentWithImage(BaseItem item, ImageType type) + where T : BaseItem + { + return item.Parents.OfType().FirstOrDefault(i => i.HasImage(type)); + } } } -- cgit v1.2.3