aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/SearchService.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-05 01:08:22 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-05 01:08:22 -0500
commit1ed03b0bb328e4d5c48c560c06aab55b4c75cd46 (patch)
tree80e1f979c71f49e9c5bc9f6a155cc5319c58c1b0 /MediaBrowser.Api/SearchService.cs
parentd957c0da048ed55814a3a1c397bcbc13799acd86 (diff)
added more images to search output
Diffstat (limited to 'MediaBrowser.Api/SearchService.cs')
-rw-r--r--MediaBrowser.Api/SearchService.cs52
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));
+ }
}
}