lastfm: fix fetching artist info in language other than English

master
Andrzej Rybczak 9 years ago
parent a5827cf1de
commit b2f29c6756
  1. 3
      NEWS
  2. 8
      src/lastfm_service.cpp

@ -19,7 +19,8 @@ ncmpcpp-0.8 (????-??-??)
* Lyrics and last_fm can now be startup screens and are lockable.
* Action 'update_environment' now also synchronizes status with MPD.
* Fixed an issue that could cause some MPD events to be missed.
* ACtion 'jump_to_playing_song' is not runnable now if there is no playing song.
* Action 'jump_to_playing_song' is not runnable now if there is no playing song.
* Fixed fetching artist info in language other than English.
ncmpcpp-0.7.7 (2016-10-31)
* Fixed compilation on 32bit platforms.

@ -20,6 +20,7 @@
#include "lastfm_service.h"
#include <boost/algorithm/string/replace.hpp>
#include <boost/algorithm/string/trim.hpp>
#include <boost/locale/conversion.hpp>
#include <fstream>
@ -118,6 +119,10 @@ Service::Result ArtistInfo::processData(const std::string &data)
std::string url = what[1], wiki;
// unescape &amp;s
unescapeHtmlEntities(url);
// fill in language info since url points to english version.
const auto &lang = m_arguments["lang"];
if (!lang.empty())
boost::replace_first(url, "last.fm/music/", "last.fm/" + lang + "/music/");
// ...try to get the content of it...
CURLcode code = Curl::perform(wiki, url, "", true);
@ -145,7 +150,10 @@ Service::Result ArtistInfo::processData(const std::string &data)
result.second += desc;
}
else
{
result.second += "No description available for this artist.";
return result;
}
}
else
{

Loading…
Cancel
Save