diff options
Diffstat (limited to 'MediaBrowser.Providers')
10 files changed, 109 insertions, 32 deletions
diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index a51007a0e..86a182fe5 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -102,7 +102,7 @@ namespace MediaBrowser.Providers.Manager _metadataServices = metadataServices.OrderBy(i => i.Order).ToArray(); _metadataProviders = metadataProviders.ToArray(); - _externalIds = externalIds.OrderBy(i => i.Name).ToArray(); + _externalIds = externalIds.OrderBy(i => i.ProviderName).ToArray(); _savers = metadataSavers.Where(i => { @@ -900,7 +900,7 @@ namespace MediaBrowser.Providers.Manager return new ExternalUrl { - Name = i.Name, + Name = i.ProviderName, Url = string.Format( CultureInfo.InvariantCulture, i.UrlFormatString, @@ -914,8 +914,9 @@ namespace MediaBrowser.Providers.Manager return GetExternalIds(item) .Select(i => new ExternalIdInfo { - Name = i.Name, + Name = i.ProviderName, Key = i.Key, + Type = i.Type, UrlFormatString = i.UrlFormatString }); } diff --git a/MediaBrowser.Providers/Movies/MovieExternalIds.cs b/MediaBrowser.Providers/Movies/MovieExternalIds.cs index 4a0cca35e..14080841c 100644 --- a/MediaBrowser.Providers/Movies/MovieExternalIds.cs +++ b/MediaBrowser.Providers/Movies/MovieExternalIds.cs @@ -6,18 +6,22 @@ using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.LiveTv; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Providers; namespace MediaBrowser.Providers.Movies { public class ImdbExternalId : IExternalId { /// <inheritdoc /> - public string Name => "IMDb"; + public string ProviderName => "IMDb"; /// <inheritdoc /> public string Key => MetadataProvider.Imdb.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => null; + + /// <inheritdoc /> public string UrlFormatString => "https://www.imdb.com/title/{0}"; /// <inheritdoc /> @@ -36,12 +40,15 @@ namespace MediaBrowser.Providers.Movies public class ImdbPersonExternalId : IExternalId { /// <inheritdoc /> - public string Name => "IMDb"; + public string ProviderName => "IMDb"; /// <inheritdoc /> public string Key => MetadataProvider.Imdb.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => ExternalIdMediaType.Person; + + /// <inheritdoc /> public string UrlFormatString => "https://www.imdb.com/name/{0}"; /// <inheritdoc /> diff --git a/MediaBrowser.Providers/Music/MusicExternalIds.cs b/MediaBrowser.Providers/Music/MusicExternalIds.cs index 30c69dd0e..a1726b996 100644 --- a/MediaBrowser.Providers/Music/MusicExternalIds.cs +++ b/MediaBrowser.Providers/Music/MusicExternalIds.cs @@ -3,18 +3,22 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Providers; namespace MediaBrowser.Providers.Music { public class ImvdbId : IExternalId { /// <inheritdoc /> - public string Name => "IMVDb"; + public string ProviderName => "IMVDb"; /// <inheritdoc /> public string Key => "IMVDb"; /// <inheritdoc /> + public ExternalIdMediaType? Type => null; + + /// <inheritdoc /> public string UrlFormatString => null; /// <inheritdoc /> diff --git a/MediaBrowser.Providers/Plugins/AudioDb/ExternalIds.cs b/MediaBrowser.Providers/Plugins/AudioDb/ExternalIds.cs index 770dfe80f..1cc1f0fa1 100644 --- a/MediaBrowser.Providers/Plugins/AudioDb/ExternalIds.cs +++ b/MediaBrowser.Providers/Plugins/AudioDb/ExternalIds.cs @@ -3,18 +3,22 @@ using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Providers; namespace MediaBrowser.Providers.Plugins.AudioDb { public class AudioDbAlbumExternalId : IExternalId { /// <inheritdoc /> - public string Name => "TheAudioDb"; + public string ProviderName => "TheAudioDb"; /// <inheritdoc /> public string Key => MetadataProvider.AudioDbAlbum.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => null; + + /// <inheritdoc /> public string UrlFormatString => "https://www.theaudiodb.com/album/{0}"; /// <inheritdoc /> @@ -24,12 +28,15 @@ namespace MediaBrowser.Providers.Plugins.AudioDb public class AudioDbOtherAlbumExternalId : IExternalId { /// <inheritdoc /> - public string Name => "TheAudioDb Album"; + public string ProviderName => "TheAudioDb"; /// <inheritdoc /> public string Key => MetadataProvider.AudioDbAlbum.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => ExternalIdMediaType.Album; + + /// <inheritdoc /> public string UrlFormatString => "https://www.theaudiodb.com/album/{0}"; /// <inheritdoc /> @@ -39,12 +46,15 @@ namespace MediaBrowser.Providers.Plugins.AudioDb public class AudioDbArtistExternalId : IExternalId { /// <inheritdoc /> - public string Name => "TheAudioDb"; + public string ProviderName => "TheAudioDb"; /// <inheritdoc /> public string Key => MetadataProvider.AudioDbArtist.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => ExternalIdMediaType.Artist; + + /// <inheritdoc /> public string UrlFormatString => "https://www.theaudiodb.com/artist/{0}"; /// <inheritdoc /> @@ -54,12 +64,15 @@ namespace MediaBrowser.Providers.Plugins.AudioDb public class AudioDbOtherArtistExternalId : IExternalId { /// <inheritdoc /> - public string Name => "TheAudioDb Artist"; + public string ProviderName => "TheAudioDb"; /// <inheritdoc /> public string Key => MetadataProvider.AudioDbArtist.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => ExternalIdMediaType.OtherArtist; + + /// <inheritdoc /> public string UrlFormatString => "https://www.theaudiodb.com/artist/{0}"; /// <inheritdoc /> diff --git a/MediaBrowser.Providers/Plugins/MusicBrainz/ExternalIds.cs b/MediaBrowser.Providers/Plugins/MusicBrainz/ExternalIds.cs index 8857cb618..5600c389c 100644 --- a/MediaBrowser.Providers/Plugins/MusicBrainz/ExternalIds.cs +++ b/MediaBrowser.Providers/Plugins/MusicBrainz/ExternalIds.cs @@ -3,6 +3,7 @@ using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Providers; using MediaBrowser.Providers.Plugins.MusicBrainz; namespace MediaBrowser.Providers.Music @@ -10,12 +11,15 @@ namespace MediaBrowser.Providers.Music public class MusicBrainzReleaseGroupExternalId : IExternalId { /// <inheritdoc /> - public string Name => "MusicBrainz Release Group"; + public string ProviderName => "MusicBrainz"; /// <inheritdoc /> public string Key => MetadataProvider.MusicBrainzReleaseGroup.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => ExternalIdMediaType.ReleaseGroup; + + /// <inheritdoc /> public string UrlFormatString => Plugin.Instance.Configuration.Server + "/release-group/{0}"; /// <inheritdoc /> @@ -25,12 +29,15 @@ namespace MediaBrowser.Providers.Music public class MusicBrainzAlbumArtistExternalId : IExternalId { /// <inheritdoc /> - public string Name => "MusicBrainz Album Artist"; + public string ProviderName => "MusicBrainz"; /// <inheritdoc /> public string Key => MetadataProvider.MusicBrainzAlbumArtist.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => ExternalIdMediaType.AlbumArtist; + + /// <inheritdoc /> public string UrlFormatString => Plugin.Instance.Configuration.Server + "/artist/{0}"; /// <inheritdoc /> @@ -40,12 +47,15 @@ namespace MediaBrowser.Providers.Music public class MusicBrainzAlbumExternalId : IExternalId { /// <inheritdoc /> - public string Name => "MusicBrainz Album"; + public string ProviderName => "MusicBrainz"; /// <inheritdoc /> public string Key => MetadataProvider.MusicBrainzAlbum.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => ExternalIdMediaType.Album; + + /// <inheritdoc /> public string UrlFormatString => Plugin.Instance.Configuration.Server + "/release/{0}"; /// <inheritdoc /> @@ -55,12 +65,15 @@ namespace MediaBrowser.Providers.Music public class MusicBrainzArtistExternalId : IExternalId { /// <inheritdoc /> - public string Name => "MusicBrainz"; + public string ProviderName => "MusicBrainz"; /// <inheritdoc /> public string Key => MetadataProvider.MusicBrainzArtist.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => ExternalIdMediaType.Artist; + + /// <inheritdoc /> public string UrlFormatString => Plugin.Instance.Configuration.Server + "/artist/{0}"; /// <inheritdoc /> @@ -70,13 +83,16 @@ namespace MediaBrowser.Providers.Music public class MusicBrainzOtherArtistExternalId : IExternalId { /// <inheritdoc /> - public string Name => "MusicBrainz Artist"; + public string ProviderName => "MusicBrainz"; /// <inheritdoc /> public string Key => MetadataProvider.MusicBrainzArtist.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => ExternalIdMediaType.OtherArtist; + + /// <inheritdoc /> public string UrlFormatString => Plugin.Instance.Configuration.Server + "/artist/{0}"; /// <inheritdoc /> @@ -86,12 +102,15 @@ namespace MediaBrowser.Providers.Music public class MusicBrainzTrackId : IExternalId { /// <inheritdoc /> - public string Name => "MusicBrainz Track"; + public string ProviderName => "MusicBrainz"; /// <inheritdoc /> public string Key => MetadataProvider.MusicBrainzTrack.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => ExternalIdMediaType.Track; + + /// <inheritdoc /> public string UrlFormatString => Plugin.Instance.Configuration.Server + "/track/{0}"; /// <inheritdoc /> diff --git a/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetExternalId.cs b/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetExternalId.cs index 629f95d53..1f7ec6433 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetExternalId.cs +++ b/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetExternalId.cs @@ -1,21 +1,26 @@ -#pragma warning disable CS1591 - using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Providers; namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets { + /// <summary> + /// External ID for a TMDB box set. + /// </summary> public class TmdbBoxSetExternalId : IExternalId { /// <inheritdoc /> - public string Name => TmdbUtils.ProviderName; + public string ProviderName => TmdbUtils.ProviderName; /// <inheritdoc /> public string Key => MetadataProvider.TmdbCollection.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => ExternalIdMediaType.BoxSet; + + /// <inheritdoc /> public string UrlFormatString => TmdbUtils.BaseTmdbUrl + "collection/{0}"; /// <inheritdoc /> diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieExternalId.cs b/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieExternalId.cs index 095f57398..9610e4058 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieExternalId.cs +++ b/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieExternalId.cs @@ -1,22 +1,27 @@ -#pragma warning disable CS1591 - using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.LiveTv; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Providers; namespace MediaBrowser.Providers.Plugins.Tmdb.Movies { + /// <summary> + /// External ID for a TMBD movie. + /// </summary> public class TmdbMovieExternalId : IExternalId { /// <inheritdoc /> - public string Name => TmdbUtils.ProviderName; + public string ProviderName => TmdbUtils.ProviderName; /// <inheritdoc /> public string Key => MetadataProvider.Tmdb.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => ExternalIdMediaType.Movie; + + /// <inheritdoc /> public string UrlFormatString => TmdbUtils.BaseTmdbUrl + "movie/{0}"; /// <inheritdoc /> diff --git a/MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonExternalId.cs b/MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonExternalId.cs index 2c6cf5db4..de74a7a4c 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonExternalId.cs +++ b/MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonExternalId.cs @@ -1,20 +1,25 @@ -#pragma warning disable CS1591 - using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Providers; namespace MediaBrowser.Providers.Plugins.Tmdb.People { + /// <summary> + /// External ID for a TMDB person. + /// </summary> public class TmdbPersonExternalId : IExternalId { /// <inheritdoc /> - public string Name => TmdbUtils.ProviderName; + public string ProviderName => TmdbUtils.ProviderName; /// <inheritdoc /> public string Key => MetadataProvider.Tmdb.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => ExternalIdMediaType.Person; + + /// <inheritdoc /> public string UrlFormatString => TmdbUtils.BaseTmdbUrl + "person/{0}"; /// <inheritdoc /> diff --git a/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesExternalId.cs b/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesExternalId.cs index 1da203fd7..6ecc055d7 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesExternalId.cs +++ b/MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesExternalId.cs @@ -1,20 +1,25 @@ -#pragma warning disable CS1591 - using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Providers; namespace MediaBrowser.Providers.Plugins.Tmdb.TV { + /// <summary> + /// External ID for a TMDB series. + /// </summary> public class TmdbSeriesExternalId : IExternalId { /// <inheritdoc /> - public string Name => TmdbUtils.ProviderName; + public string ProviderName => TmdbUtils.ProviderName; /// <inheritdoc /> public string Key => MetadataProvider.Tmdb.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => ExternalIdMediaType.Series; + + /// <inheritdoc /> public string UrlFormatString => TmdbUtils.BaseTmdbUrl + "tv/{0}"; /// <inheritdoc /> diff --git a/MediaBrowser.Providers/TV/TvExternalIds.cs b/MediaBrowser.Providers/TV/TvExternalIds.cs index 1d904a84c..a6040edd1 100644 --- a/MediaBrowser.Providers/TV/TvExternalIds.cs +++ b/MediaBrowser.Providers/TV/TvExternalIds.cs @@ -3,6 +3,7 @@ using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Providers; using MediaBrowser.Providers.Plugins.TheTvdb; namespace MediaBrowser.Providers.TV @@ -10,12 +11,15 @@ namespace MediaBrowser.Providers.TV public class Zap2ItExternalId : IExternalId { /// <inheritdoc /> - public string Name => "Zap2It"; + public string ProviderName => "Zap2It"; /// <inheritdoc /> public string Key => MetadataProvider.Zap2It.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => null; + + /// <inheritdoc /> public string UrlFormatString => "http://tvlistings.zap2it.com/overview.html?programSeriesId={0}"; /// <inheritdoc /> @@ -25,12 +29,15 @@ namespace MediaBrowser.Providers.TV public class TvdbExternalId : IExternalId { /// <inheritdoc /> - public string Name => "TheTVDB"; + public string ProviderName => "TheTVDB"; /// <inheritdoc /> public string Key => MetadataProvider.Tvdb.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => null; + + /// <inheritdoc /> public string UrlFormatString => TvdbUtils.TvdbBaseUrl + "?tab=series&id={0}"; /// <inheritdoc /> @@ -40,12 +47,15 @@ namespace MediaBrowser.Providers.TV public class TvdbSeasonExternalId : IExternalId { /// <inheritdoc /> - public string Name => "TheTVDB"; + public string ProviderName => "TheTVDB"; /// <inheritdoc /> public string Key => MetadataProvider.Tvdb.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => ExternalIdMediaType.Season; + + /// <inheritdoc /> public string UrlFormatString => null; /// <inheritdoc /> @@ -55,12 +65,15 @@ namespace MediaBrowser.Providers.TV public class TvdbEpisodeExternalId : IExternalId { /// <inheritdoc /> - public string Name => "TheTVDB"; + public string ProviderName => "TheTVDB"; /// <inheritdoc /> public string Key => MetadataProvider.Tvdb.ToString(); /// <inheritdoc /> + public ExternalIdMediaType? Type => ExternalIdMediaType.Episode; + + /// <inheritdoc /> public string UrlFormatString => TvdbUtils.TvdbBaseUrl + "?tab=episode&id={0}"; /// <inheritdoc /> |
