diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-14 10:50:39 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-14 10:50:39 -0500 |
| commit | ce13ff95ad92fb2ee9448ac0a8d4054a6d043b14 (patch) | |
| tree | f16e1fa71256847fb23e17c86c31679b0e57dbb7 /MediaBrowser.Controller/Entities | |
| parent | eb42293901e15ef2f334390681ef71a84e247886 (diff) | |
support plot keywords
Diffstat (limited to 'MediaBrowser.Controller/Entities')
| -rw-r--r-- | MediaBrowser.Controller/Entities/IHasKeywords.cs | 31 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/Movies/BoxSet.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/Movies/Movie.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/Trailer.cs | 5 |
4 files changed, 42 insertions, 4 deletions
diff --git a/MediaBrowser.Controller/Entities/IHasKeywords.cs b/MediaBrowser.Controller/Entities/IHasKeywords.cs new file mode 100644 index 000000000..ab9eb4aee --- /dev/null +++ b/MediaBrowser.Controller/Entities/IHasKeywords.cs @@ -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); + } + } + } +} diff --git a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs index 91e7873c8..19d0d6682 100644 --- a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs +++ b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs @@ -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; } diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs index f9d3f845c..b1d3a871a 100644 --- a/MediaBrowser.Controller/Entities/Movies/Movie.cs +++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs @@ -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> diff --git a/MediaBrowser.Controller/Entities/Trailer.cs b/MediaBrowser.Controller/Entities/Trailer.cs index 7000d04d3..39869505c 100644 --- a/MediaBrowser.Controller/Entities/Trailer.cs +++ b/MediaBrowser.Controller/Entities/Trailer.cs @@ -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> |
