aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-01-16 00:01:57 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-01-16 00:01:57 -0500
commite0f47a4c28867fd07731990e6d0c233f53dc5f17 (patch)
treeb7173b25e4ba8a87c97b39e16ea4c82d0f8ad439
parentda85e15eb0acb471484b219a510f7dea488e7a4e (diff)
add aspect ratio to search results
-rw-r--r--MediaBrowser.Api/SearchService.cs1
-rw-r--r--MediaBrowser.Controller/Dto/IDtoService.cs10
-rw-r--r--MediaBrowser.Model/Search/SearchHint.cs6
-rw-r--r--MediaBrowser.Server.Implementations/Dto/DtoService.cs17
-rw-r--r--MediaBrowser.Server.Implementations/Library/UserManager.cs5
-rw-r--r--MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs5
6 files changed, 28 insertions, 16 deletions
diff --git a/MediaBrowser.Api/SearchService.cs b/MediaBrowser.Api/SearchService.cs
index 9cb699098..89fc29f3d 100644
--- a/MediaBrowser.Api/SearchService.cs
+++ b/MediaBrowser.Api/SearchService.cs
@@ -179,6 +179,7 @@ namespace MediaBrowser.Api
if (primaryImageTag != null)
{
result.PrimaryImageTag = primaryImageTag;
+ result.PrimaryImageAspectRatio = _dtoService.GetPrimaryImageAspectRatio(item);
}
SetThumbImageInfo(result, item);
diff --git a/MediaBrowser.Controller/Dto/IDtoService.cs b/MediaBrowser.Controller/Dto/IDtoService.cs
index e4ab29102..77a81d0c8 100644
--- a/MediaBrowser.Controller/Dto/IDtoService.cs
+++ b/MediaBrowser.Controller/Dto/IDtoService.cs
@@ -22,8 +22,14 @@ namespace MediaBrowser.Controller.Dto
/// </summary>
/// <param name="dto">The dto.</param>
/// <param name="item">The item.</param>
- /// <param name="fields">The fields.</param>
- void AttachPrimaryImageAspectRatio(IItemDto dto, IHasImages item, List<ItemFields> fields);
+ void AttachPrimaryImageAspectRatio(IItemDto dto, IHasImages item);
+
+ /// <summary>
+ /// Gets the primary image aspect ratio.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <returns>System.Nullable&lt;System.Double&gt;.</returns>
+ double? GetPrimaryImageAspectRatio(IHasImages item);
/// <summary>
/// Gets the base item dto.
diff --git a/MediaBrowser.Model/Search/SearchHint.cs b/MediaBrowser.Model/Search/SearchHint.cs
index d51c0325d..3a1d45cc4 100644
--- a/MediaBrowser.Model/Search/SearchHint.cs
+++ b/MediaBrowser.Model/Search/SearchHint.cs
@@ -144,5 +144,11 @@ namespace MediaBrowser.Model.Search
/// </summary>
/// <value>The name of the channel.</value>
public string ChannelName { get; set; }
+
+ /// <summary>
+ /// Gets or sets the primary image aspect ratio.
+ /// </summary>
+ /// <value>The primary image aspect ratio.</value>
+ public double? PrimaryImageAspectRatio { get; set; }
}
}
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
index ccca6414a..e47ebc551 100644
--- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs
+++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
@@ -305,7 +305,7 @@ namespace MediaBrowser.Server.Implementations.Dto
{
try
{
- AttachPrimaryImageAspectRatio(dto, item, fields);
+ AttachPrimaryImageAspectRatio(dto, item);
}
catch (Exception ex)
{
@@ -1745,15 +1745,19 @@ namespace MediaBrowser.Server.Implementations.Dto
/// </summary>
/// <param name="dto">The dto.</param>
/// <param name="item">The item.</param>
- /// <param name="fields">The fields.</param>
/// <returns>Task.</returns>
- public void AttachPrimaryImageAspectRatio(IItemDto dto, IHasImages item, List<ItemFields> fields)
+ public void AttachPrimaryImageAspectRatio(IItemDto dto, IHasImages item)
+ {
+ dto.PrimaryImageAspectRatio = GetPrimaryImageAspectRatio(item);
+ }
+
+ public double? GetPrimaryImageAspectRatio(IHasImages item)
{
var imageInfo = item.GetImageInfo(ImageType.Primary, 0);
if (imageInfo == null || !imageInfo.IsLocalFile)
{
- return;
+ return null;
}
ImageSize size;
@@ -1765,7 +1769,7 @@ namespace MediaBrowser.Server.Implementations.Dto
catch (Exception ex)
{
//_logger.ErrorException("Failed to determine primary image aspect ratio for {0}", ex, path);
- return;
+ return null;
}
var supportedEnhancers = _imageProcessor.GetSupportedEnhancers(item, ImageType.Primary).ToList();
@@ -1784,8 +1788,9 @@ namespace MediaBrowser.Server.Implementations.Dto
if (size.Width > 0 && size.Height > 0)
{
- dto.PrimaryImageAspectRatio = size.Width / size.Height;
+ return size.Width / size.Height;
}
+ return null;
}
}
}
diff --git a/MediaBrowser.Server.Implementations/Library/UserManager.cs b/MediaBrowser.Server.Implementations/Library/UserManager.cs
index 3ef625db6..0d588b97b 100644
--- a/MediaBrowser.Server.Implementations/Library/UserManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/UserManager.cs
@@ -403,10 +403,7 @@ namespace MediaBrowser.Server.Implementations.Library
try
{
- _dtoServiceFactory().AttachPrimaryImageAspectRatio(dto, user, new List<ItemFields>
- {
- ItemFields.PrimaryImageAspectRatio
- });
+ _dtoServiceFactory().AttachPrimaryImageAspectRatio(dto, user);
}
catch (Exception ex)
{
diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs
index 9ffd8a500..04f99cdce 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvDtoService.cs
@@ -231,10 +231,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
{
dto.ImageTags[ImageType.Primary] = imageTag;
- _dtoService.AttachPrimaryImageAspectRatio(dto, info, new List<ItemFields>
- {
- ItemFields.PrimaryImageAspectRatio
- });
+ _dtoService.AttachPrimaryImageAspectRatio(dto, info);
}
if (currentProgram != null)