aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Providers/Music/LastfmHelper.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Providers/Music/LastfmHelper.cs')
-rw-r--r--MediaBrowser.Controller/Providers/Music/LastfmHelper.cs42
1 files changed, 38 insertions, 4 deletions
diff --git a/MediaBrowser.Controller/Providers/Music/LastfmHelper.cs b/MediaBrowser.Controller/Providers/Music/LastfmHelper.cs
index d4559b94a..101422f01 100644
--- a/MediaBrowser.Controller/Providers/Music/LastfmHelper.cs
+++ b/MediaBrowser.Controller/Providers/Music/LastfmHelper.cs
@@ -4,25 +4,59 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MediaBrowser.Controller.Entities;
+using MediaBrowser.Model.Entities;
namespace MediaBrowser.Controller.Providers.Music
{
public static class LastfmHelper
{
public static string LocalArtistMetaFileName = "MBArtist.json";
+ public static string LocalAlbumMetaFileName = "MBAlbum.json";
public static void ProcessArtistData(BaseItem artist, LastfmArtist data)
{
artist.Overview = data.bio != null ? data.bio.content : null;
+ var yearFormed = 0;
+ try
+ {
+ yearFormed = Convert.ToInt32(data.bio.yearformed);
+ }
+ catch (FormatException)
+ {
+ }
+ catch (NullReferenceException)
+ {
+ }
+ catch (OverflowException)
+ {
+ }
+ artist.PremiereDate = new DateTime(yearFormed, 1,1);
if (data.tags != null)
{
- foreach (var tag in data.tags.tag)
- {
- artist.AddGenre(tag.name);
- }
+ AddGenres(artist, data.tags);
+ }
+ }
+
+ public static void ProcessAlbumData(BaseItem item, LastfmAlbum data)
+ {
+ if (!string.IsNullOrWhiteSpace(data.mbid)) item.SetProviderId(MetadataProviders.Musicbrainz, data.mbid);
+ item.Overview = data.wiki != null ? data.wiki.content : null;
+ var release = DateTime.MinValue;
+ DateTime.TryParse(data.releasedate, out release);
+ item.PremiereDate = release;
+ if (data.toptags != null)
+ {
+ AddGenres(item, data.toptags);
}
}
+ private static void AddGenres(BaseItem item, LastfmTags tags)
+ {
+ foreach (var tag in tags.tag)
+ {
+ item.AddGenre(tag.name);
+ }
+ }
}
}