diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-05 01:08:22 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-05 01:08:22 -0500 |
| commit | 1ed03b0bb328e4d5c48c560c06aab55b4c75cd46 (patch) | |
| tree | 80e1f979c71f49e9c5bc9f6a155cc5319c58c1b0 /MediaBrowser.Api/SearchService.cs | |
| parent | d957c0da048ed55814a3a1c397bcbc13799acd86 (diff) | |
added more images to search output
Diffstat (limited to 'MediaBrowser.Api/SearchService.cs')
| -rw-r--r-- | MediaBrowser.Api/SearchService.cs | 52 |
1 files changed, 50 insertions, 2 deletions
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<Series>(item, ImageType.Thumb); + } + } + + if (itemWithImage == null) + { + itemWithImage = GetParentWithImage<BaseItem>(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<BaseItem>(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<T>(BaseItem item, ImageType type) + where T : BaseItem + { + return item.Parents.OfType<T>().FirstOrDefault(i => i.HasImage(type)); + } } } |
