Sfoglia il codice sorgente

Add documentation around Name, Id, and Type. Changed ExternalIdType to ExternalIdMediaType

Luke Foust 5 anni fa
parent
commit
0fb78cf54b

+ 45 - 0
MediaBrowser.Controller/Providers/ExternalIdMediaType.cs

@@ -0,0 +1,45 @@
+namespace MediaBrowser.Controller.Providers
+{
+    /// <summary>The specific media type of an <see cref="IExternalId"/>.</summary>
+    public enum ExternalIdMediaType
+    {
+        /// <summary>There is no specific media type</summary>
+        None,
+
+        /// <summary>A music album</summary>
+        Album,
+
+        /// <summary>The artist of a music album</summary>
+        AlbumArtist,
+
+        /// <summary>The artist of a media item</summary>
+        Artist,
+
+        /// <summary>A boxed set of media</summary>
+        BoxSet,
+
+        /// <summary>A series episode</summary>
+        Episode,
+
+        /// <summary>A movie</summary>
+        Movie,
+
+        /// <summary>An alternative artist apart from the main artist</summary>
+        OtherArtist,
+
+        /// <summary>A person</summary>
+        Person,
+
+        /// <summary>A release group</summary>
+        ReleaseGroup,
+
+        /// <summary>A single season of a series</summary>
+        Season,
+
+        /// <summary>A series</summary>
+        Series,
+
+        /// <summary>A music track</summary>
+        Track
+    }
+}

+ 9 - 18
MediaBrowser.Controller/Providers/IExternalId.cs

@@ -2,33 +2,24 @@ using MediaBrowser.Model.Entities;
 
 namespace MediaBrowser.Controller.Providers
 {
+    /// <summary>Represents and identifier for an external provider.</summary>
     public interface IExternalId
     {
+        /// <summary>Gets the name used to identify this provider</summary>
         string Name { get; }
 
+        /// <summary>Gets the unique key to distinguish this provider/type pair. This should be unique across providers.</summary>
         string Key { get; }
 
-        ExternalIdType Type { get; }
+        /// <summary>Gets the specific media type for this id.</summary>
+        ExternalIdMediaType Type { get; }
 
+        /// <summary>Gets the url format string for this id.</summary>
         string UrlFormatString { get; }
 
+        /// <summary>Determines whether this id supports a given item type.</summary>
+        /// <param name="item">The item.</param>
+        /// <returns>True if this item is supported, otherwise false.</returns>
         bool Supports(IHasProviderIds item);
     }
-
-    public enum ExternalIdType
-    {
-        None,
-        Album,
-        AlbumArtist,
-        Artist,
-        BoxSet,
-        Episode,
-        Movie,
-        OtherArtist,
-        Person,
-        ReleaseGroup,
-        Season,
-        Series,
-        Track
-    }
 }

+ 8 - 9
MediaBrowser.Model/Providers/ExternalIdInfo.cs

@@ -1,31 +1,30 @@
-#pragma warning disable CS1591
-
 namespace MediaBrowser.Model.Providers
 {
+    /// <summary>
+    /// Represents the external id information for serialization to the client.
+    /// </summary>
     public class ExternalIdInfo
     {
         /// <summary>
-        /// Gets or sets the name.
+        /// Gets or sets the name of the external id provider (IE: IMDB, MusicBrainz, etc).
         /// </summary>
-        /// <value>The name.</value>
         public string Name { get; set; }
 
         /// <summary>
-        /// Gets or sets the key.
+        /// Gets or sets the unique key for this id. This key should be unique across all providers.
         /// </summary>
-        /// <value>The key.</value>
         public string Key { get; set; }
 
         /// <summary>
-        /// Gets or sets the type.
+        /// Gets or sets the media type (Album, Artist, etc).
+        /// This can be null if there is no specific type.
+        /// This string is also used to localize the media type on the client.
         /// </summary>
-        /// <value>The type.</value>
         public string Type { get; set; }
 
         /// <summary>
         /// Gets or sets the URL format string.
         /// </summary>
-        /// <value>The URL format string.</value>
         public string UrlFormatString { get; set; }
     }
 }

+ 1 - 1
MediaBrowser.Providers/Manager/ProviderManager.cs

@@ -910,7 +910,7 @@ namespace MediaBrowser.Providers.Manager
                 {
                     Name = i.Name,
                     Key = i.Key,
-                    Type = i.Type == ExternalIdType.None ? null : i.Type.ToString(),
+                    Type = i.Type == ExternalIdMediaType.None ? null : i.Type.ToString(),
                     UrlFormatString = i.UrlFormatString
 
                 });

+ 2 - 2
MediaBrowser.Providers/Movies/MovieExternalIds.cs

@@ -16,7 +16,7 @@ namespace MediaBrowser.Providers.Movies
         public string Key => MetadataProviders.Imdb.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.None;
+        public ExternalIdMediaType Type => ExternalIdMediaType.None;
 
         /// <inheritdoc />
         public string UrlFormatString => "https://www.imdb.com/title/{0}";
@@ -43,7 +43,7 @@ namespace MediaBrowser.Providers.Movies
         public string Key => MetadataProviders.Imdb.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.Person;
+        public ExternalIdMediaType Type => ExternalIdMediaType.Person;
 
         /// <inheritdoc />
         public string UrlFormatString => "https://www.imdb.com/name/{0}";

+ 1 - 1
MediaBrowser.Providers/Music/MusicExternalIds.cs

@@ -13,7 +13,7 @@ namespace MediaBrowser.Providers.Music
         public string Key => "IMVDb";
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.None;
+        public ExternalIdMediaType Type => ExternalIdMediaType.None;
 
         /// <inheritdoc />
         public string UrlFormatString => null;

+ 4 - 4
MediaBrowser.Providers/Plugins/AudioDb/ExternalIds.cs

@@ -13,7 +13,7 @@ namespace MediaBrowser.Providers.Plugins.AudioDb
         public string Key => MetadataProviders.AudioDbAlbum.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.None;
+        public ExternalIdMediaType Type => ExternalIdMediaType.None;
 
         /// <inheritdoc />
         public string UrlFormatString => "https://www.theaudiodb.com/album/{0}";
@@ -31,7 +31,7 @@ namespace MediaBrowser.Providers.Plugins.AudioDb
         public string Key => MetadataProviders.AudioDbAlbum.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.Album;
+        public ExternalIdMediaType Type => ExternalIdMediaType.Album;
 
         /// <inheritdoc />
         public string UrlFormatString => "https://www.theaudiodb.com/album/{0}";
@@ -49,7 +49,7 @@ namespace MediaBrowser.Providers.Plugins.AudioDb
         public string Key => MetadataProviders.AudioDbArtist.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.Artist;
+        public ExternalIdMediaType Type => ExternalIdMediaType.Artist;
 
         /// <inheritdoc />
         public string UrlFormatString => "https://www.theaudiodb.com/artist/{0}";
@@ -67,7 +67,7 @@ namespace MediaBrowser.Providers.Plugins.AudioDb
         public string Key => MetadataProviders.AudioDbArtist.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.OtherArtist;
+        public ExternalIdMediaType Type => ExternalIdMediaType.OtherArtist;
 
         /// <inheritdoc />
         public string UrlFormatString => "https://www.theaudiodb.com/artist/{0}";

+ 6 - 6
MediaBrowser.Providers/Plugins/MusicBrainz/ExternalIds.cs

@@ -14,7 +14,7 @@ namespace MediaBrowser.Providers.Music
         public string Key => MetadataProviders.MusicBrainzReleaseGroup.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.ReleaseGroup;
+        public ExternalIdMediaType Type => ExternalIdMediaType.ReleaseGroup;
 
         /// <inheritdoc />
         public string UrlFormatString => Plugin.Instance.Configuration.Server + "/release-group/{0}";
@@ -32,7 +32,7 @@ namespace MediaBrowser.Providers.Music
         public string Key => MetadataProviders.MusicBrainzAlbumArtist.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.AlbumArtist;
+        public ExternalIdMediaType Type => ExternalIdMediaType.AlbumArtist;
 
         /// <inheritdoc />
         public string UrlFormatString => Plugin.Instance.Configuration.Server + "/artist/{0}";
@@ -50,7 +50,7 @@ namespace MediaBrowser.Providers.Music
         public string Key => MetadataProviders.MusicBrainzAlbum.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.Album;
+        public ExternalIdMediaType Type => ExternalIdMediaType.Album;
 
         /// <inheritdoc />
         public string UrlFormatString => Plugin.Instance.Configuration.Server + "/release/{0}";
@@ -68,7 +68,7 @@ namespace MediaBrowser.Providers.Music
         public string Key => MetadataProviders.MusicBrainzArtist.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.Artist;
+        public ExternalIdMediaType Type => ExternalIdMediaType.Artist;
 
         /// <inheritdoc />
         public string UrlFormatString => Plugin.Instance.Configuration.Server + "/artist/{0}";
@@ -87,7 +87,7 @@ namespace MediaBrowser.Providers.Music
         public string Key => MetadataProviders.MusicBrainzArtist.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.OtherArtist;
+        public ExternalIdMediaType Type => ExternalIdMediaType.OtherArtist;
 
         /// <inheritdoc />
         public string UrlFormatString => Plugin.Instance.Configuration.Server + "/artist/{0}";
@@ -105,7 +105,7 @@ namespace MediaBrowser.Providers.Music
         public string Key => MetadataProviders.MusicBrainzTrack.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.Track;
+        public ExternalIdMediaType Type => ExternalIdMediaType.Track;
 
         /// <inheritdoc />
         public string UrlFormatString => Plugin.Instance.Configuration.Server + "/track/{0}";

+ 4 - 4
MediaBrowser.Providers/TV/TvExternalIds.cs

@@ -14,7 +14,7 @@ namespace MediaBrowser.Providers.TV
         public string Key => MetadataProviders.Zap2It.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.None;
+        public ExternalIdMediaType Type => ExternalIdMediaType.None;
 
         /// <inheritdoc />
         public string UrlFormatString => "http://tvlistings.zap2it.com/overview.html?programSeriesId={0}";
@@ -32,7 +32,7 @@ namespace MediaBrowser.Providers.TV
         public string Key => MetadataProviders.Tvdb.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.None;
+        public ExternalIdMediaType Type => ExternalIdMediaType.None;
 
         /// <inheritdoc />
         public string UrlFormatString => TvdbUtils.TvdbBaseUrl + "?tab=series&id={0}";
@@ -51,7 +51,7 @@ namespace MediaBrowser.Providers.TV
         public string Key => MetadataProviders.Tvdb.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.Season;
+        public ExternalIdMediaType Type => ExternalIdMediaType.Season;
 
         /// <inheritdoc />
         public string UrlFormatString => null;
@@ -69,7 +69,7 @@ namespace MediaBrowser.Providers.TV
         public string Key => MetadataProviders.Tvdb.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.Episode;
+        public ExternalIdMediaType Type => ExternalIdMediaType.Episode;
 
         /// <inheritdoc />
         public string UrlFormatString => TvdbUtils.TvdbBaseUrl + "?tab=episode&id={0}";

+ 1 - 1
MediaBrowser.Providers/Tmdb/BoxSets/TmdbBoxSetExternalId.cs

@@ -14,7 +14,7 @@ namespace MediaBrowser.Providers.Tmdb.BoxSets
         public string Key => MetadataProviders.TmdbCollection.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.BoxSet;
+        public ExternalIdMediaType Type => ExternalIdMediaType.BoxSet;
 
         /// <inheritdoc />
         public string UrlFormatString => TmdbUtils.BaseTmdbUrl + "collection/{0}";

+ 1 - 1
MediaBrowser.Providers/Tmdb/Movies/TmdbMovieExternalId.cs

@@ -15,7 +15,7 @@ namespace MediaBrowser.Providers.Tmdb.Movies
         public string Key => MetadataProviders.Tmdb.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.Movie;
+        public ExternalIdMediaType Type => ExternalIdMediaType.Movie;
 
         /// <inheritdoc />
         public string UrlFormatString => TmdbUtils.BaseTmdbUrl + "movie/{0}";

+ 1 - 1
MediaBrowser.Providers/Tmdb/People/TmdbPersonExternalId.cs

@@ -13,7 +13,7 @@ namespace MediaBrowser.Providers.Tmdb.People
         public string Key => MetadataProviders.Tmdb.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.Person;
+        public ExternalIdMediaType Type => ExternalIdMediaType.Person;
 
         /// <inheritdoc />
         public string UrlFormatString => TmdbUtils.BaseTmdbUrl + "person/{0}";

+ 1 - 1
MediaBrowser.Providers/Tmdb/TV/TmdbSeriesExternalId.cs

@@ -13,7 +13,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
         public string Key => MetadataProviders.Tmdb.ToString();
 
         /// <inheritdoc />
-        public ExternalIdType Type => ExternalIdType.Series;
+        public ExternalIdMediaType Type => ExternalIdMediaType.Series;
 
         /// <inheritdoc />
         public string UrlFormatString => TmdbUtils.BaseTmdbUrl + "tv/{0}";