LastfmHelper.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using MediaBrowser.Controller.Entities;
  2. using MediaBrowser.Model.Entities;
  3. using System;
  4. namespace MediaBrowser.Controller.Providers.Music
  5. {
  6. public static class LastfmHelper
  7. {
  8. public static string LocalArtistMetaFileName = "MBArtist.json";
  9. public static string LocalAlbumMetaFileName = "MBAlbum.json";
  10. public static void ProcessArtistData(BaseItem artist, LastfmArtist data)
  11. {
  12. var overview = data.bio != null ? data.bio.content : null;
  13. artist.Overview = overview;
  14. var yearFormed = 0;
  15. if (data.bio != null)
  16. {
  17. Int32.TryParse(data.bio.yearformed, out yearFormed);
  18. }
  19. artist.PremiereDate = yearFormed > 0 ? new DateTime(yearFormed, 1,1) : DateTime.MinValue;
  20. artist.ProductionYear = yearFormed;
  21. if (data.tags != null)
  22. {
  23. AddGenres(artist, data.tags);
  24. }
  25. }
  26. public static void ProcessAlbumData(BaseItem item, LastfmAlbum data)
  27. {
  28. if (!string.IsNullOrWhiteSpace(data.mbid)) item.SetProviderId(MetadataProviders.Musicbrainz, data.mbid);
  29. var overview = data.wiki != null ? data.wiki.content : null;
  30. item.Overview = overview;
  31. DateTime release;
  32. DateTime.TryParse(data.releasedate, out release);
  33. item.PremiereDate = release;
  34. item.ProductionYear = release.Year;
  35. if (data.toptags != null)
  36. {
  37. AddGenres(item, data.toptags);
  38. }
  39. }
  40. private static void AddGenres(BaseItem item, LastfmTags tags)
  41. {
  42. foreach (var tag in tags.tag)
  43. {
  44. item.AddGenre(tag.name);
  45. }
  46. }
  47. }
  48. }