@ -38,16 +38,8 @@ std::istream &operator>>(std::istream &is, LyricsFetcher_ &fetcher)
{
std : : string s ;
is > > s ;
if ( s = = " azlyrics " )
fetcher = std : : make_unique < AzLyricsFetcher > ( ) ;
else if ( s = = " genius " )
if ( s = = " genius " )
fetcher = std : : make_unique < GeniusFetcher > ( ) ;
else if ( s = = " musixmatch " )
fetcher = std : : make_unique < MusixmatchFetcher > ( ) ;
else if ( s = = " sing365 " )
fetcher = std : : make_unique < Sing365Fetcher > ( ) ;
else if ( s = = " metrolyrics " )
fetcher = std : : make_unique < MetrolyricsFetcher > ( ) ;
else if ( s = = " justsomelyrics " )
fetcher = std : : make_unique < JustSomeLyricsFetcher > ( ) ;
else if ( s = = " jahlyrics " )
@ -76,7 +68,7 @@ LyricsFetcher::Result LyricsFetcher::fetch(const std::string &artist,
std : : string url = urlTemplate ( ) ;
boost : : replace_all ( url , " %artist% " , Curl : : escape ( artist ) ) ;
boost : : replace_all ( url , " %title% " , Curl : : escape ( title ) ) ;
std : : string data ;
CURLcode code = Curl : : perform ( data , url , " " , true ) ;
@ -88,9 +80,11 @@ LyricsFetcher::Result LyricsFetcher::fetch(const std::string &artist,
auto lyrics = getContent ( regex ( ) , data ) ;
//std::cerr << "URL: " << url << "\n";
//std::cerr << "Data: " << data << "\n";
if ( lyrics . empty ( ) | | notLyrics ( data ) )
{
//std::cerr << "Data: " << data << "\n";
//std::cerr << "Empty: " << lyrics.empty() << "\n";
//std::cerr << "Not Lyrics: " << notLyrics(data) << "\n";
result . second = msgNotFound ;
@ -202,14 +196,6 @@ bool GoogleLyricsFetcher::isURLOk(const std::string &url)
/**********************************************************************/
bool MetrolyricsFetcher : : isURLOk ( const std : : string & url )
{
// it sometimes return link to sitemap.xml, which is huge so we need to discard it
return GoogleLyricsFetcher : : isURLOk ( url ) & & url . find ( " sitemap " ) = = std : : string : : npos ;
}
/**********************************************************************/
LyricsFetcher : : Result InternetLyricsFetcher : : fetch ( const std : : string & artist ,
const std : : string & title )
{