wisp3rwind
0c285753fb
lyrics: Add some missing None-checks to the Tekstowo source
...
The previous code had the potential to crash if (when?) Tekstowo changes
their website structure sufficiently.
The new code is rather ugly due to the explicit checks after each and
every function call. Unfortunately, the alternative would be to catch a
bunch of very generic Exceptions (AttributeError, ...), since there's no
such thing as a `BeautifulSoupNotFoundError`.
2021-07-04 10:38:00 +02:00
wisp3rwind
09be82bd75
lyrics: slightly more consistent white space in Tekstowo source
2021-07-04 00:35:42 +02:00
Martin Atukunda
efcc5b3fae
return None for lyrics if Tekstowo fails to extract lyrics
...
I experienced a failure to parse Tekstowo for song lyrics.
This patch allowed the lyrics plugin to fetch the lyrics from another provider as opposed to failing.
2021-07-01 09:39:42 +03:00
wisp3rwind
316b79f72f
lyrics: slightly refactor beautifulsoup checks
...
instead of having a global list of sources that require the package,
indicate the dependency using an attribute of the source class
2021-06-18 17:16:04 +02:00
wisp3rwind
038cebfa9b
lyrics: remove duplicate check for beautifulsoup
...
The plugin already disables these sources entirely when beautifulsoup is
not available
2021-06-18 17:16:04 +02:00
wisp3rwind
867d383544
lyrics: wrap BeautifulSoup() constructor to centralize error handling
...
also ensure that the return value is always checked for None
2021-06-18 17:16:04 +02:00
wisp3rwind
b34442f5d1
lyrics: always check for fetch_url() returning None
2021-06-18 17:16:04 +02:00
wisp3rwind
f8a4c661fa
lyrics: return None explicitly
2021-06-18 17:16:04 +02:00
wisp3rwind
76aa97827d
lyrics: rename html -> soup for consistency
2021-06-18 17:16:04 +02:00
Xavier Hocquet
8b979f2a50
Review comments
2021-04-11 18:38:01 -05:00
Xavier Hocquet
31f4df3ff3
Fix falso positive lyric pages for Tekstowo
2021-04-11 17:30:45 -05:00
Evgeniy Gurevich
afc072801c
Simplify Musixmatch multi-part lyrics parser
2021-04-02 10:35:53 +08:00
Evgeniy Gurevich
a8fe8ce9a7
Fix for Musixmatch multi-part lyrics
...
Sometimes Musixmatch lyrics come in 2 parts.
Also, sometime non-existent lyrics return some content
2021-04-01 14:21:49 +08:00
Xavier Hocquet
6081e6a8df
CR comments
2021-03-28 13:08:00 -05:00
Xavier Hocquet
8c6530369d
Merge branch 'master' into tekstowo-lyrics
2021-03-28 12:05:42 -06:00
AnonTester
ecfafb5041
Adjust comment to pass lint test
2020-11-07 21:48:21 +00:00
AnonTester
176fa55bf6
lyrics: Strip \u2005 (four-per-em space) in lyrics (Issue 3789)
...
https://github.com/beetbox/beets/issues/3789
2020-11-07 21:41:16 +00:00
Jack Wilsdon
580495f1d6
Simplify MusiXmatch backend and remove unused code
2020-10-05 22:56:01 +01:00
Jack Wilsdon
d115f3679b
Remove LyricWiki source
...
LyricWiki was shut down on 2020/09/21 and no longer serves lyrics.
2020-10-05 22:15:40 +01:00
wisp3rwind
44e4d558c9
lyrics: fix bad_triggers in the google plugin
...
regression from 117d16f
2020-07-12 22:23:17 +02:00
jtpavlock
45abc9ed7a
Clean up code and tests for Genius Lyrics plugin backend ( #3641 )
...
* clean-up code & add tests for genius lyrics backend
* add genius fetch tests
* organize imports: standard lib -> pip -> local
* check in sample genius lyrics page
* fix mock import
* force utf-8 encoding for opened files
* use io.open to force utf-8 encoding w/ python2.7
2020-07-06 08:41:27 -05:00
Jacob Pavlock
7220c91d2a
generalize genius artist matching to use slug()
2020-06-26 18:56:20 -07:00
Jacob Pavlock
bb5740d63c
better debug message for no genius artist match
2020-06-26 16:41:20 -07:00
Jacob Pavlock
ae175e156b
fix genius lyrics artist matching when artist contains a hyphen
2020-06-26 16:10:33 -07:00
Adrian Sampson
3aad6f42ce
Merge pull request #3602 from jef/jef/github-actions
...
feat: added github actions
2020-06-05 09:56:59 -04:00
ybnd
d1f3d664d7
Implement comments & add to changelog
2020-06-04 16:43:42 +02:00
ybnd
b239a0b3d2
Fix item == None issues when writing lyrics ReST
...
* Skip ReST writing & sphinx info messages if query doesn't yield anything
* `writerest` into `appendrest` and `writerest`, don't call `writerest(item=None)` to flush state at the end.
2020-06-04 11:15:34 +02:00
Jef LeCompte
9f8bd4cd3f
style: flake8 linting
2020-05-25 20:06:43 -04:00
Jef LeCompte
0c3201930c
feat: added github actions
...
only working with linux for now. exact replica of travis basically.
should probably try to implement the rest of tox or deprecate some
functionality.
2020-05-25 19:35:15 -04:00
stlutz
5d306d6fd9
Remove debugging statement and conform to line length.
2020-05-16 17:48:56 +02:00
stlutz
15402f6aa7
Add alternative scraping algorithm to deal with Genius's new song page html layout.
2020-05-16 17:15:45 +02:00
stlutz
46143d9762
Remove unnecessary intermediate web request to genius.com when fetching lyrics.
...
The search results already include the correct song page url, making it superfluous to do another request via the /song api just to get it.
2020-05-16 16:28:17 +02:00
stlutz
ac043f9be0
When fetching lyrics from Genius, search for title and artist.
...
Searching only for the title and just verifying the artist afterwards leads to songs with very common titles not being found, since Genius limits the amount of returned hits.
An example would be 'Saviour' by 'Circa Waves'.
2020-05-16 13:26:09 +02:00
Ashhar Hasan
625e9253c0
Add tests for artist_sort as lyrics search fallback
...
Adjust doc comment to highlight that artist_sort is used as a fallback
2020-04-19 19:19:07 +05:30
Ashhar Hasan
45c8e51d6c
Fix redundant requests for artist == artist_sort
2020-04-19 19:14:00 +05:30
Ashhar Hasan
a5ef8c7b09
Add artist_sort as the last entry in the artists to search
...
This will handle cases where the artist name includes some
characters which can cause a search failure for some
websites - mainly unicode.
Fixes https://github.com/beetbox/beets/issues/3340 .
2020-04-19 00:50:14 +05:30
Adrian Sampson
269e309513
Slight simplification for #3554
2020-04-17 18:28:21 -04:00
lijacky
9ec0d725e5
Changes given feedback on https://github.com/beetbox/beets/pull/3554 and trimmed sample html
2020-04-17 17:14:21 -04:00
lijacky
8e28f0b694
added null check for genius lyrics scrape
2020-04-16 19:06:17 -04:00
Xavier Hocquet
38ea35aa5e
Lint
2020-03-28 11:44:56 -06:00
Xavier Hocquet
58bfe4567e
Code review
2020-03-28 11:34:03 -06:00
Xavier Hocquet
1266a04998
Docs, lint, and cleanup beautifulsoup source check
2020-03-19 21:10:52 -06:00
Xavier Hocquet
306571883e
Implement tekstowo lyrics provider
2020-03-18 23:00:51 -06:00
Adrian Sampson
95e0f54d7c
Fix too-long lines ( #3448 )
2020-02-02 21:04:55 -05:00
Xavier Hocquet
9f43408f1b
Changelog and cleanup
2020-02-02 15:57:43 -07:00
Xavier Hocquet
c8e8e587f8
Add debug logger for Genius lyrics no-match
2019-12-05 20:06:49 -07:00
Xavier Hocquet
d43cf35ad2
Strip and lowercase Genius lyrics artist comparison
2019-12-05 20:06:46 -07:00
FichteFoll
1a23eab8b6
Use https for lyrics.wikia.com, when supported
2019-06-05 23:00:52 +02:00
Carl Suster
e4c03fd63f
Fix deprecated placement of inline regex flags
...
https://bugs.python.org/issue22493
2019-03-31 19:44:49 +11:00
Adrian Sampson
bac8faad78
Resolve W605: invalid escape sequence
...
This came up in lots of regexes that weren't using "raw" literals.
2018-08-13 10:41:01 -04:00