|
|
@ -236,6 +236,28 @@ public class LastFmService { |
|
|
|
return getArtistBio(getCanonicalArtistName(artist.getName()), locale); |
|
|
|
return getArtistBio(getCanonicalArtistName(artist.getName()), locale); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private ArtistBio getArtistBio(String artistName, Locale locale) { |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
if (artistName == null) { |
|
|
|
|
|
|
|
return null; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Artist info = Artist.getInfo(artistName, locale, null /* username */, LAST_FM_KEY); |
|
|
|
|
|
|
|
if (info == null) { |
|
|
|
|
|
|
|
return null; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return new ArtistBio(processWikiText(info.getWikiSummary()), |
|
|
|
|
|
|
|
info.getMbid(), |
|
|
|
|
|
|
|
info.getUrl(), |
|
|
|
|
|
|
|
info.getImageURL(ImageSize.MEDIUM), |
|
|
|
|
|
|
|
info.getImageURL(ImageSize.LARGE), |
|
|
|
|
|
|
|
info.getImageURL(ImageSize.MEGA)); |
|
|
|
|
|
|
|
} catch (Throwable x) { |
|
|
|
|
|
|
|
LOG.warn("Failed to find artist bio for " + artistName, x); |
|
|
|
|
|
|
|
return null; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* Returns top songs for the given artist, using last.fm REST API. |
|
|
|
* Returns top songs for the given artist, using last.fm REST API. |
|
|
|
* |
|
|
|
* |
|
|
@ -368,29 +390,6 @@ public class LastFmService { |
|
|
|
return imageUrl == null ? null : new LastFmCoverArt(imageUrl, album.getArtist(), album.getName()); |
|
|
|
return imageUrl == null ? null : new LastFmCoverArt(imageUrl, album.getArtist(), album.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private ArtistBio getArtistBio(String artistName, Locale locale) { |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
if (artistName == null) { |
|
|
|
|
|
|
|
return null; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Artist info = Artist.getInfo(artistName, locale, null /* username */, LAST_FM_KEY); |
|
|
|
|
|
|
|
if (info == null) { |
|
|
|
|
|
|
|
return null; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return new ArtistBio(processWikiText(info.getWikiSummary()), |
|
|
|
|
|
|
|
info.getMbid(), |
|
|
|
|
|
|
|
info.getUrl(), |
|
|
|
|
|
|
|
info.getImageURL(ImageSize.MEDIUM), |
|
|
|
|
|
|
|
info.getImageURL(ImageSize.LARGE), |
|
|
|
|
|
|
|
info.getImageURL(ImageSize.MEGA)); |
|
|
|
|
|
|
|
} catch (Throwable x) { |
|
|
|
|
|
|
|
LOG.warn("Failed to find artist bio for " + artistName, x); |
|
|
|
|
|
|
|
return null; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private String getCanonicalArtistName(String artistName) { |
|
|
|
private String getCanonicalArtistName(String artistName) { |
|
|
|
try { |
|
|
|
try { |
|
|
|
if (artistName == null) { |
|
|
|
if (artistName == null) { |
|
|
|