diff --git a/beetsplug/lyrics.py b/beetsplug/lyrics.py index 800e0302a..62ba7fd78 100644 --- a/beetsplug/lyrics.py +++ b/beetsplug/lyrics.py @@ -51,6 +51,7 @@ except ImportError: class HTMLParseError(Exception): pass +from beets.autotag.hooks import string_dist from beets import plugins from beets import ui import beets @@ -461,7 +462,7 @@ class Tekstowo(Backend): if not song_page_html: return None - return self.extract_lyrics(song_page_html) + return self.extract_lyrics(song_page_html, artist, title) def parse_search_results(self, html): html = _scrape_strip_cruft(html) @@ -493,7 +494,7 @@ class Tekstowo(Backend): return self.BASE_URL + link.get('href') - def extract_lyrics(self, html): + def extract_lyrics(self, html, artist, title): html = _scrape_strip_cruft(html) html = _scrape_merge_paragraphs(html) @@ -501,6 +502,23 @@ class Tekstowo(Backend): if not soup: return None + info_div = soup.find("div", class_="col-auto") + if not info_div: + return None + + info_elements = info_div.find_all("a") + if not info_elements: + return None + + html_title = info_elements[-1].get_text() + html_artist = info_elements[-2].get_text() + + title_dist = string_dist(html_title, title) + artist_dist = string_dist(html_artist, artist) + + if title_dist > 0.1 or artist_dist > 0.1: + return None + lyrics_div = soup.select("div.song-text > div.inner-text") if not lyrics_div: return None diff --git a/docs/changelog.rst b/docs/changelog.rst old mode 100644 new mode 100755 index 646417f28..33eccac09 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -117,6 +117,9 @@ Bug fixes: * :doc:`/plugins/lastgenre`: Fix a duplicated entry for trip hop in the default genre list. :bug:`4510` +* :doc:`plugins/lyrics`: Fixed issue with Tekstowo backend not actually checking + if the found song actually matches. + :bug:`4406` For packagers: diff --git a/test/rsrc/lyrics/tekstowopl/piosenka24kgoldncityofangels1.txt b/test/rsrc/lyrics/tekstowopl/piosenka24kgoldncityofangels1.txt new file mode 100755 index 000000000..de91cc339 --- /dev/null +++ b/test/rsrc/lyrics/tekstowopl/piosenka24kgoldncityofangels1.txt @@ -0,0 +1,910 @@ + +
+ + + + + + ++ Historia edycji tekstu + +
| Rok wydania: | 2019 Edytuj metrykę |
|---|---|
| Płyty: | Dropped Outta College |
Największy serwis z tekstami piosenek w Polsce. Każdy może znaleźć u nas teksty piosenek, teledyski oraz tłumaczenia swoich ulubionych utworów.
Zachęcamy wszystkich użytkowników do dodawania nowych tekstów, tłumaczeń i teledysków!
+ Historia edycji tekstu + +
+ Niestety nikt nie dodał jeszcze tłumaczenia tego utworu. +
++ Dodaj tłumaczenie lub wyślij prośbę o tłumaczenie +
+ ++
| Autor: | (brak) Edytuj metrykę |
|---|
Największy serwis z tekstami piosenek w Polsce. Każdy może znaleźć u nas teksty piosenek, teledyski oraz tłumaczenia swoich ulubionych utworów.
Zachęcamy wszystkich użytkowników do dodawania nowych tekstów, tłumaczeń i teledysków!
| Ścieżka dźwiękowa: |
|---|
Największy serwis z tekstami piosenek w Polsce. Każdy może znaleźć u nas teksty piosenek, teledyski oraz tłumaczenia swoich ulubionych utworów.
Zachęcamy wszystkich użytkowników do dodawania nowych tekstów, tłumaczeń i teledysków!
Największy serwis z tekstami piosenek w Polsce. Każdy może znaleźć u nas teksty piosenek, teledyski oraz tłumaczenia swoich ulubionych utworów.
Zachęcamy wszystkich użytkowników do dodawania nowych tekstów, tłumaczeń i teledysków!
Największy serwis z tekstami piosenek w Polsce. Każdy może znaleźć u nas teksty piosenek, teledyski oraz tłumaczenia swoich ulubionych utworów.
Zachęcamy wszystkich użytkowników do dodawania nowych tekstów, tłumaczeń i teledysków!
Komentarze (0):
+ +