diff options
| -rw-r--r-- | MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs | 14 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Providers/Music/FanArtAlbumProvider.cs | 12 |
2 files changed, 23 insertions, 3 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs index 95b047e7d..ebefd0d02 100644 --- a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs +++ b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs @@ -150,6 +150,10 @@ namespace MediaBrowser.Controller.Entities.Audio return RecursiveChildren.OfType<Audio>().Any(i => i.HasArtist(artist)); } + /// <summary> + /// Gets or sets the name. + /// </summary> + /// <value>The name.</value> public override string Name { get @@ -164,6 +168,10 @@ namespace MediaBrowser.Controller.Entities.Audio } } + /// <summary> + /// Gets or sets the display type of the media. + /// </summary> + /// <value>The display type of the media.</value> public override string DisplayMediaType { get @@ -175,5 +183,11 @@ namespace MediaBrowser.Controller.Entities.Audio base.DisplayMediaType = value; } } + + /// <summary> + /// Gets or sets the music brainz release group id. + /// </summary> + /// <value>The music brainz release group id.</value> + public string MusicBrainzReleaseGroupId { get; set; } } } diff --git a/MediaBrowser.Controller/Providers/Music/FanArtAlbumProvider.cs b/MediaBrowser.Controller/Providers/Music/FanArtAlbumProvider.cs index 15188bc69..8c92ea025 100644 --- a/MediaBrowser.Controller/Providers/Music/FanArtAlbumProvider.cs +++ b/MediaBrowser.Controller/Providers/Music/FanArtAlbumProvider.cs @@ -116,16 +116,22 @@ namespace MediaBrowser.Controller.Providers.Music { cancellationToken.ThrowIfCancellationRequested(); - var releaseGroupId = await GetReleaseGroupId(item.GetProviderId(MetadataProviders.Musicbrainz), cancellationToken).ConfigureAwait(false); + var album = (MusicAlbum)item; - if (string.IsNullOrEmpty(releaseGroupId)) + if (string.IsNullOrEmpty(album.MusicBrainzReleaseGroupId)) + { + album.MusicBrainzReleaseGroupId = await GetReleaseGroupId(item.GetProviderId(MetadataProviders.Musicbrainz), cancellationToken).ConfigureAwait(false); + } + + // If still empty there's nothing more we can do + if (string.IsNullOrEmpty(album.MusicBrainzReleaseGroupId)) { SetLastRefreshed(item, DateTime.UtcNow); return true; } - var url = string.Format("http://api.fanart.tv/webservice/album/{0}/{1}/xml/all/1/1", APIKey, releaseGroupId); + var url = string.Format("http://api.fanart.tv/webservice/album/{0}/{1}/xml/all/1/1", APIKey, album.MusicBrainzReleaseGroupId); var doc = new XmlDocument(); |
