|
@@ -1,4 +1,5 @@
|
|
|
-using MediaBrowser.Controller.Entities;
|
|
|
+using MediaBrowser.Common.Extensions;
|
|
|
+using MediaBrowser.Controller.Entities;
|
|
|
using MediaBrowser.Controller.Entities.Audio;
|
|
|
using MediaBrowser.Controller.Entities.Movies;
|
|
|
using MediaBrowser.Controller.Entities.TV;
|
|
@@ -6,12 +7,12 @@ using MediaBrowser.Model.Drawing;
|
|
|
using MediaBrowser.Model.Dto;
|
|
|
using MediaBrowser.Model.Entities;
|
|
|
using MediaBrowser.Model.Logging;
|
|
|
+using MediaBrowser.Model.Querying;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.IO;
|
|
|
using System.Linq;
|
|
|
using System.Threading.Tasks;
|
|
|
-using MediaBrowser.Model.Querying;
|
|
|
|
|
|
namespace MediaBrowser.Controller.Library
|
|
|
{
|
|
@@ -26,10 +27,12 @@ namespace MediaBrowser.Controller.Library
|
|
|
const string IndexFolderDelimeter = "-index-";
|
|
|
|
|
|
private readonly ILogger _logger;
|
|
|
+ private readonly ILibraryManager _libraryManager;
|
|
|
|
|
|
- public DtoBuilder(ILogger logger)
|
|
|
+ public DtoBuilder(ILogger logger, ILibraryManager libraryManager)
|
|
|
{
|
|
|
_logger = logger;
|
|
|
+ _libraryManager = libraryManager;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -39,7 +42,7 @@ namespace MediaBrowser.Controller.Library
|
|
|
/// <param name="fields">The fields.</param>
|
|
|
/// <returns>Task{DtoBaseItem}.</returns>
|
|
|
/// <exception cref="System.ArgumentNullException">item</exception>
|
|
|
- public async Task<BaseItemDto> GetBaseItemDto(BaseItem item, List<ItemFields> fields, ILibraryManager libraryManager)
|
|
|
+ public async Task<BaseItemDto> GetBaseItemDto(BaseItem item, List<ItemFields> fields)
|
|
|
{
|
|
|
if (item == null)
|
|
|
{
|
|
@@ -74,7 +77,7 @@ namespace MediaBrowser.Controller.Library
|
|
|
|
|
|
if (fields.Contains(ItemFields.People))
|
|
|
{
|
|
|
- tasks.Add(AttachPeople(dto, item, libraryManager));
|
|
|
+ tasks.Add(AttachPeople(dto, item));
|
|
|
}
|
|
|
|
|
|
AttachBasicFields(dto, item, fields);
|
|
@@ -94,10 +97,9 @@ namespace MediaBrowser.Controller.Library
|
|
|
/// <param name="item">The item.</param>
|
|
|
/// <param name="user">The user.</param>
|
|
|
/// <param name="fields">The fields.</param>
|
|
|
- /// <param name="libraryManager">The library manager.</param>
|
|
|
/// <returns>Task{DtoBaseItem}.</returns>
|
|
|
/// <exception cref="System.ArgumentNullException">item</exception>
|
|
|
- public async Task<BaseItemDto> GetBaseItemDto(BaseItem item, User user, List<ItemFields> fields, ILibraryManager libraryManager)
|
|
|
+ public async Task<BaseItemDto> GetBaseItemDto(BaseItem item, User user, List<ItemFields> fields)
|
|
|
{
|
|
|
if (item == null)
|
|
|
{
|
|
@@ -136,7 +138,7 @@ namespace MediaBrowser.Controller.Library
|
|
|
|
|
|
if (fields.Contains(ItemFields.People))
|
|
|
{
|
|
|
- tasks.Add(AttachPeople(dto, item, libraryManager));
|
|
|
+ tasks.Add(AttachPeople(dto, item));
|
|
|
}
|
|
|
|
|
|
AttachBasicFields(dto, item, fields);
|
|
@@ -296,6 +298,11 @@ namespace MediaBrowser.Controller.Library
|
|
|
dto.Overview = item.Overview;
|
|
|
}
|
|
|
|
|
|
+ if (fields.Contains(ItemFields.OverviewHtml))
|
|
|
+ {
|
|
|
+ dto.OverviewHtml = string.IsNullOrEmpty(item.Overview) ? item.Overview : item.Overview.StripHtml();
|
|
|
+ }
|
|
|
+
|
|
|
// If there are no backdrops, indicate what parent has them in case the Ui wants to allow inheritance
|
|
|
if (dto.BackdropImageTags.Count == 0)
|
|
|
{
|
|
@@ -515,7 +522,7 @@ namespace MediaBrowser.Controller.Library
|
|
|
/// <param name="item">The item.</param>
|
|
|
/// <param name="libraryManager">The library manager.</param>
|
|
|
/// <returns>Task.</returns>
|
|
|
- private async Task AttachPeople(BaseItemDto dto, BaseItem item, ILibraryManager libraryManager)
|
|
|
+ private async Task AttachPeople(BaseItemDto dto, BaseItem item)
|
|
|
{
|
|
|
if (item.People == null)
|
|
|
{
|
|
@@ -531,7 +538,7 @@ namespace MediaBrowser.Controller.Library
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- return await libraryManager.GetPerson(c.Name).ConfigureAwait(false);
|
|
|
+ return await _libraryManager.GetPerson(c.Name).ConfigureAwait(false);
|
|
|
}
|
|
|
catch (IOException ex)
|
|
|
{
|