support plot keywords

This commit is contained in:
Luke Pulverenti
2014-01-14 10:50:39 -05:00
parent eb42293901
commit ce13ff95ad
16 changed files with 174 additions and 13 deletions

View File

@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace MediaBrowser.Controller.Entities
{
public interface IHasKeywords
{
/// <summary>
/// Gets or sets the keywords.
/// </summary>
/// <value>The keywords.</value>
List<string> Keywords { get; set; }
}
public static class KeywordExtensions
{
public static void AddKeyword(this IHasKeywords item, string name)
{
if (string.IsNullOrWhiteSpace(name))
{
throw new ArgumentNullException("name");
}
if (!item.Keywords.Contains(name, StringComparer.OrdinalIgnoreCase))
{
item.Keywords.Add(name);
}
}
}
}

View File

@@ -9,7 +9,7 @@ namespace MediaBrowser.Controller.Entities.Movies
/// <summary>
/// Class BoxSet
/// </summary>
public class BoxSet : Folder, IHasTrailers, IHasTags, IHasPreferredMetadataLanguage, IHasDisplayOrder
public class BoxSet : Folder, IHasTrailers, IHasTags, IHasKeywords, IHasPreferredMetadataLanguage, IHasDisplayOrder
{
public BoxSet()
{
@@ -18,6 +18,7 @@ namespace MediaBrowser.Controller.Entities.Movies
Tags = new List<string>();
DisplayOrder = ItemSortBy.PremiereDate;
Keywords = new List<string>();
}
public List<Guid> LocalTrailerIds { get; set; }
@@ -33,6 +34,7 @@ namespace MediaBrowser.Controller.Entities.Movies
/// </summary>
/// <value>The tags.</value>
public List<string> Tags { get; set; }
public List<string> Keywords { get; set; }
public string PreferredMetadataLanguage { get; set; }

View File

@@ -12,7 +12,7 @@ namespace MediaBrowser.Controller.Entities.Movies
/// <summary>
/// Class Movie
/// </summary>
public class Movie : Video, IHasCriticRating, IHasSoundtracks, IHasBudget, IHasTrailers, IHasThemeMedia, IHasTaglines, IHasTags, IHasPreferredMetadataLanguage
public class Movie : Video, IHasCriticRating, IHasSoundtracks, IHasBudget, IHasKeywords, IHasTrailers, IHasThemeMedia, IHasTaglines, IHasTags, IHasPreferredMetadataLanguage
{
public List<Guid> SpecialFeatureIds { get; set; }
@@ -39,10 +39,12 @@ namespace MediaBrowser.Controller.Entities.Movies
ThemeVideoIds = new List<Guid>();
Taglines = new List<string>();
Tags = new List<string>();
Keywords = new List<string>();
}
public List<Guid> LocalTrailerIds { get; set; }
public List<string> Keywords { get; set; }
public List<MediaUrl> RemoteTrailers { get; set; }
/// <summary>

View File

@@ -9,7 +9,7 @@ namespace MediaBrowser.Controller.Entities
/// <summary>
/// Class Trailer
/// </summary>
public class Trailer : Video, IHasCriticRating, IHasSoundtracks, IHasBudget, IHasTrailers, IHasTaglines, IHasTags, IHasPreferredMetadataLanguage
public class Trailer : Video, IHasCriticRating, IHasSoundtracks, IHasBudget, IHasTrailers, IHasKeywords, IHasTaglines, IHasTags, IHasPreferredMetadataLanguage
{
public List<Guid> SoundtrackIds { get; set; }
@@ -28,12 +28,15 @@ namespace MediaBrowser.Controller.Entities
SoundtrackIds = new List<Guid>();
LocalTrailerIds = new List<Guid>();
Tags = new List<string>();
Keywords = new List<string>();
}
public List<Guid> LocalTrailerIds { get; set; }
public List<MediaUrl> RemoteTrailers { get; set; }
public List<string> Keywords { get; set; }
/// <summary>
/// Gets or sets the tags.
/// </summary>