diff options
| author | LukePulverenti <luke.pulverenti@gmail.com> | 2013-03-04 00:44:04 -0500 |
|---|---|---|
| committer | LukePulverenti <luke.pulverenti@gmail.com> | 2013-03-04 00:44:04 -0500 |
| commit | a11e00b8d5df45342753374843f9152e99f659e5 (patch) | |
| tree | fd7305356ccf62fe5a7f34221969ea62738e0bd2 /MediaBrowser.Controller/Providers/Music/LastfmBaseProvider.cs | |
| parent | 2ca4b7d03adfa3cc7c9c6a597a11762142d5b34b (diff) | |
| parent | dccba7d1fdff94f14c2a09105b93d6daa602eb4d (diff) | |
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
Conflicts:
MediaBrowser.Common/Kernel/ResourcePool.cs
Diffstat (limited to 'MediaBrowser.Controller/Providers/Music/LastfmBaseProvider.cs')
| -rw-r--r-- | MediaBrowser.Controller/Providers/Music/LastfmBaseProvider.cs | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/Providers/Music/LastfmBaseProvider.cs b/MediaBrowser.Controller/Providers/Music/LastfmBaseProvider.cs index c73321e55..a77cc4846 100644 --- a/MediaBrowser.Controller/Providers/Music/LastfmBaseProvider.cs +++ b/MediaBrowser.Controller/Providers/Music/LastfmBaseProvider.cs @@ -96,7 +96,7 @@ namespace MediaBrowser.Controller.Providers.Music } } - protected const string RootUrl = @"http://ws.audioscrobbler.com/2.0/"; + protected const string RootUrl = @"http://ws.audioscrobbler.com/2.0/?"; protected static string ApiKey = "7b76553c3eb1d341d642755aecc40a33"; protected override bool NeedsRefreshInternal(BaseItem item, BaseProviderInfo providerInfo) @@ -188,7 +188,27 @@ namespace MediaBrowser.Controller.Providers.Music /// <param name="item">The item.</param> /// <param name="cancellationToken"></param> /// <returns>Task.</returns> - protected abstract Task FetchData(BaseItem item, CancellationToken cancellationToken); + protected async Task FetchData(BaseItem item, CancellationToken cancellationToken) + { + var id = item.GetProviderId(MetadataProviders.Musicbrainz) ?? await FindId(item, cancellationToken).ConfigureAwait(false); + if (id != null) + { + Logger.Debug("LastfmProvider - getting info with id: " + id); + + cancellationToken.ThrowIfCancellationRequested(); + + await FetchLastfmData(item, id, cancellationToken).ConfigureAwait(false); + } + else + { + Logger.Info("LastfmProvider could not find " + item.Name + ". Check name on Last.fm."); + } + + } + + protected abstract Task<string> FindId(BaseItem item, CancellationToken cancellationToken); + + protected abstract Task FetchLastfmData(BaseItem item, string id, CancellationToken cancellationToken); /// <summary> /// Encodes an URL. |
