diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-05-29 02:03:09 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-05-29 02:03:09 -0400 |
| commit | 88415471eb609bc3c7c4189005780c30614fd6a9 (patch) | |
| tree | 129c6f7114d5ef9b1c100d4c6cf43d8a5fb18d35 | |
| parent | 2e2766bd19d6d974abe11284cc065ee7692ae1ed (diff) | |
add trakt external url
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/Movies/Movie.cs | 18 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/Trailer.cs | 18 | ||||
| -rw-r--r-- | MediaBrowser.Controller/LiveTv/LiveTvProgram.cs | 21 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Providers/IProviderManager.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Manager/ProviderManager.cs | 4 |
6 files changed, 66 insertions, 3 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 1a9bd618d..2a00ce992 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -26,6 +26,7 @@ using System.Threading.Tasks; using CommonIO; using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.LiveTv; +using MediaBrowser.Model.Providers; namespace MediaBrowser.Controller.Entities { @@ -2212,5 +2213,10 @@ namespace MediaBrowser.Controller.Entities DeleteFileLocation = false }); } + + public virtual List<ExternalUrl> GetRelatedUrls() + { + return new List<ExternalUrl>(); + } } }
\ No newline at end of file diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs index 5882b5f4d..605221dcd 100644 --- a/MediaBrowser.Controller/Entities/Movies/Movie.cs +++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs @@ -8,6 +8,7 @@ using System.Runtime.Serialization; using System.Threading; using System.Threading.Tasks; using CommonIO; +using MediaBrowser.Model.Providers; namespace MediaBrowser.Controller.Entities.Movies { @@ -163,5 +164,22 @@ namespace MediaBrowser.Controller.Entities.Movies return hasChanges; } + + public override List<ExternalUrl> GetRelatedUrls() + { + var list = base.GetRelatedUrls(); + + var imdbId = this.GetProviderId(MetadataProviders.Imdb); + if (!string.IsNullOrWhiteSpace(imdbId)) + { + list.Add(new ExternalUrl + { + Name = "Trakt", + Url = string.Format("https://trakt.tv/movies/{0}", imdbId) + }); + } + + return list; + } } } diff --git a/MediaBrowser.Controller/Entities/Trailer.cs b/MediaBrowser.Controller/Entities/Trailer.cs index 3be2fc624..74645bbe9 100644 --- a/MediaBrowser.Controller/Entities/Trailer.cs +++ b/MediaBrowser.Controller/Entities/Trailer.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Globalization; using System.Runtime.Serialization; using MediaBrowser.Controller.Entities.Movies; +using MediaBrowser.Model.Providers; namespace MediaBrowser.Controller.Entities { @@ -110,5 +111,22 @@ namespace MediaBrowser.Controller.Entities return hasChanges; } + + public override List<ExternalUrl> GetRelatedUrls() + { + var list = base.GetRelatedUrls(); + + var imdbId = this.GetProviderId(MetadataProviders.Imdb); + if (!string.IsNullOrWhiteSpace(imdbId)) + { + list.Add(new ExternalUrl + { + Name = "Trakt", + Url = string.Format("https://trakt.tv/movies/{0}", imdbId) + }); + } + + return list; + } } } diff --git a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs index cc30709db..74c993248 100644 --- a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs +++ b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs @@ -7,6 +7,7 @@ using System; using System.Collections.Generic; using System.Runtime.Serialization; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Providers; namespace MediaBrowser.Controller.LiveTv { @@ -235,5 +236,25 @@ namespace MediaBrowser.Controller.LiveTv return false; } } + + public override List<ExternalUrl> GetRelatedUrls() + { + var list = base.GetRelatedUrls(); + + var imdbId = this.GetProviderId(MetadataProviders.Imdb); + if (!string.IsNullOrWhiteSpace(imdbId)) + { + if (IsMovie) + { + list.Add(new ExternalUrl + { + Name = "Trakt", + Url = string.Format("https://trakt.tv/movies/{0}", imdbId) + }); + } + } + + return list; + } } } diff --git a/MediaBrowser.Controller/Providers/IProviderManager.cs b/MediaBrowser.Controller/Providers/IProviderManager.cs index a976a7f71..3eefa9647 100644 --- a/MediaBrowser.Controller/Providers/IProviderManager.cs +++ b/MediaBrowser.Controller/Providers/IProviderManager.cs @@ -133,7 +133,7 @@ namespace MediaBrowser.Controller.Providers /// </summary> /// <param name="item">The item.</param> /// <returns>IEnumerable{ExternalUrl}.</returns> - IEnumerable<ExternalUrl> GetExternalUrls(IHasProviderIds item); + IEnumerable<ExternalUrl> GetExternalUrls(BaseItem item); /// <summary> /// Gets the external identifier infos. diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index 29897e073..0f0745d1b 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -830,7 +830,7 @@ namespace MediaBrowser.Providers.Manager }); } - public IEnumerable<ExternalUrl> GetExternalUrls(IHasProviderIds item) + public IEnumerable<ExternalUrl> GetExternalUrls(BaseItem item) { return GetExternalIds(item) .Select(i => @@ -853,7 +853,7 @@ namespace MediaBrowser.Providers.Manager Url = string.Format(i.UrlFormatString, value) }; - }).Where(i => i != null); + }).Where(i => i != null).Concat(item.GetRelatedUrls()); } public IEnumerable<ExternalIdInfo> GetExternalIdInfos(IHasProviderIds item) |
