aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-02 21:35:50 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-02 21:35:50 -0400
commitb79840e20f068f087d845e4abf1e817d211a1783 (patch)
tree33cda323d9b75aa4f205a434d82c69d45eebf5f2
parent19a95edf58eb7f412008c75cb8c020512d1cb846 (diff)
cache MusicBrainzReleaseGroupId
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs14
-rw-r--r--MediaBrowser.Controller/Providers/Music/FanArtAlbumProvider.cs12
2 files changed, 23 insertions, 3 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs
index 95b047e7d1..ebefd0d027 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 15188bc69d..8c92ea025f 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();