#22 - Need to strip html tags from overviews

This commit is contained in:
LukePulverenti
2013-03-12 18:49:45 -04:00
parent 6b327581c6
commit 0cc0fbbe43
17 changed files with 82 additions and 64 deletions

View File

@@ -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)
{

View File

@@ -2,14 +2,13 @@
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.MediaInfo;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Model.Logging;
namespace MediaBrowser.Controller.Providers.MediaInfo
{

View File

@@ -54,7 +54,7 @@ namespace MediaBrowser.Controller.Providers.Music
{
get
{
return "3-12-13.2";
return "3-12-13.3";
}
}

View File

@@ -1,11 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Entities;
using System;
namespace MediaBrowser.Controller.Providers.Music
{
@@ -18,11 +14,6 @@ namespace MediaBrowser.Controller.Providers.Music
{
var overview = data.bio != null ? data.bio.content : null;
if (!string.IsNullOrEmpty(overview))
{
overview = StripHtml(overview);
}
artist.Overview = overview;
var yearFormed = 0;
@@ -53,11 +44,6 @@ namespace MediaBrowser.Controller.Providers.Music
var overview = data.wiki != null ? data.wiki.content : null;
if (!string.IsNullOrEmpty(overview))
{
overview = StripHtml(overview);
}
item.Overview = overview;
var release = DateTime.MinValue;
@@ -70,13 +56,6 @@ namespace MediaBrowser.Controller.Providers.Music
}
}
private static string StripHtml(string htmlString)
{
// http://stackoverflow.com/questions/1349023/how-can-i-strip-html-from-text-in-net
const string pattern = @"<(.|\n)*?>";
return Regex.Replace(htmlString, pattern, string.Empty);
}
private static void AddGenres(BaseItem item, LastfmTags tags)
{
foreach (var tag in tags.tag)