lyrics fetcher: add support for zeneszoveg.hu
This commit is contained in:
@@ -353,7 +353,7 @@
|
|||||||
#
|
#
|
||||||
#lines_scrolled = 2
|
#lines_scrolled = 2
|
||||||
#
|
#
|
||||||
#lyrics_fetchers = lyricwiki, azlyrics, genius, sing365, lyricsmania, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, internet
|
#lyrics_fetchers = lyricwiki, azlyrics, genius, sing365, lyricsmania, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, zeneszoveg, internet
|
||||||
#
|
#
|
||||||
#follow_now_playing_lyrics = no
|
#follow_now_playing_lyrics = no
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -162,6 +162,7 @@ bool configure(int argc, char **argv)
|
|||||||
std::make_tuple("jahlyrics", "sean kingston", "dry your eyes"),
|
std::make_tuple("jahlyrics", "sean kingston", "dry your eyes"),
|
||||||
std::make_tuple("plyrics", "offspring", "genocide"),
|
std::make_tuple("plyrics", "offspring", "genocide"),
|
||||||
std::make_tuple("tekstowo", "rihanna", "umbrella"),
|
std::make_tuple("tekstowo", "rihanna", "umbrella"),
|
||||||
|
std::make_tuple("zeneszoveg", "rihanna", "umbrella"),
|
||||||
};
|
};
|
||||||
for (auto &data : fetcher_data)
|
for (auto &data : fetcher_data)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -58,6 +58,8 @@ std::istream &operator>>(std::istream &is, LyricsFetcher_ &fetcher)
|
|||||||
fetcher = std::make_unique<PLyricsFetcher>();
|
fetcher = std::make_unique<PLyricsFetcher>();
|
||||||
else if (s == "tekstowo")
|
else if (s == "tekstowo")
|
||||||
fetcher = std::make_unique<TekstowoFetcher>();
|
fetcher = std::make_unique<TekstowoFetcher>();
|
||||||
|
else if (s == "zeneszoveg")
|
||||||
|
fetcher = std::make_unique<ZeneszovegFetcher>();
|
||||||
else if (s == "internet")
|
else if (s == "internet")
|
||||||
fetcher = std::make_unique<InternetLyricsFetcher>();
|
fetcher = std::make_unique<InternetLyricsFetcher>();
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -157,6 +157,14 @@ protected:
|
|||||||
virtual const char *regex() const override { return "<div class=\"song-text\">.*?</h2>(.*?)<a"; }
|
virtual const char *regex() const override { return "<div class=\"song-text\">.*?</h2>(.*?)<a"; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct ZeneszovegFetcher : public GoogleLyricsFetcher
|
||||||
|
{
|
||||||
|
virtual const char *name() const override { return "zeneszoveg.hu"; }
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual const char *regex() const override { return "<div class=\"lyrics-plain-text\">(.*?)</div>"; }
|
||||||
|
};
|
||||||
|
|
||||||
struct InternetLyricsFetcher : public GoogleLyricsFetcher
|
struct InternetLyricsFetcher : public GoogleLyricsFetcher
|
||||||
{
|
{
|
||||||
virtual const char *name() const override { return "the Internet"; }
|
virtual const char *name() const override { return "the Internet"; }
|
||||||
|
|||||||
@@ -462,7 +462,7 @@ bool Configuration::read(const std::vector<std::string> &config_paths, bool igno
|
|||||||
p.add("cyclic_scrolling", &use_cyclic_scrolling, "no", yes_no);
|
p.add("cyclic_scrolling", &use_cyclic_scrolling, "no", yes_no);
|
||||||
p.add("lines_scrolled", &lines_scrolled, "2");
|
p.add("lines_scrolled", &lines_scrolled, "2");
|
||||||
p.add("lyrics_fetchers", &lyrics_fetchers,
|
p.add("lyrics_fetchers", &lyrics_fetchers,
|
||||||
"lyricwiki, azlyrics, genius, sing365, lyricsmania, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, internet",
|
"lyricwiki, azlyrics, genius, sing365, lyricsmania, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, zeneszoveg, internet",
|
||||||
list_of<LyricsFetcher_>);
|
list_of<LyricsFetcher_>);
|
||||||
p.add("follow_now_playing_lyrics", &now_playing_lyrics, "no", yes_no);
|
p.add("follow_now_playing_lyrics", &now_playing_lyrics, "no", yes_no);
|
||||||
p.add("fetch_lyrics_for_current_song_in_background", &fetch_lyrics_in_background,
|
p.add("fetch_lyrics_for_current_song_in_background", &fetch_lyrics_in_background,
|
||||||
|
|||||||
Reference in New Issue
Block a user