Commit Graph

130 Commits

Author SHA1 Message Date
Ritiek Malhotra e0362b6e8c Retry a few times to workaround random YouTube issues 2020-05-08 22:14:51 +05:30
Ritiek Malhotra 007fc0be67 Faster generation of m3u playlists 2020-05-07 23:38:34 +05:30
Ritiek Malhotra c9bf0bc020 De-clutter metadata search 2020-05-07 19:36:38 +05:30
Ritiek Malhotra ec5704e050 zfill track number metadata 2020-05-05 14:17:27 +05:30
Ritiek Malhotra c3e8a0f0db Link arguments to spotipy helpers 2020-05-05 02:25:05 +05:30
Ritiek Malhotra 5a75687722 Add debug log statements 2020-05-04 14:50:05 +05:30
Ritiek Malhotra 4495755edc Setup coloredlogs to remove logzero 2020-05-03 16:34:49 +05:30
Ritiek Malhotra ec765119fa Setup coloredlogs 2020-05-03 09:06:03 +05:30
Ritiek Malhotra 715a95df1e Move command-line class methods to module fns as needed 2020-04-27 00:59:48 +05:30
Ritiek Malhotra a7578e9de0 Create a class for command-line functions 2020-04-27 00:28:15 +05:30
Ritiek Malhotra 35461e8602 Setup logzero.logger 2020-04-26 12:29:41 +05:30
Ritiek Malhotra 629d1643c7 Remove --avconv in favour of --encoder 2020-04-23 23:06:15 +05:30
Ritiek Malhotra 2feb9c4b49 Implement --manual 2020-04-23 22:38:27 +05:30
Ritiek Malhotra 300f17e5cd Merge options -f and -ff into -f 2020-04-23 14:55:52 +05:30
Ritiek Malhotra 7ddc5c6348 Support reading & writing to STDIN & STDOUT respectively 2020-04-22 16:02:27 +05:30
Ritiek Malhotra f24c026ae4 Improve Genius lyrics stability
Sometimes the first result in the Genius API response may not contain
the path to lyrics. In such cases, keep iterating on the next
result until the path is found.
2020-04-21 18:56:46 +05:30
Ritiek Malhotra b9e2a23846 Fix dependencies
Removes now-unused dependency titlecase and add tqdm. Also read
current spotdl version without depending on external dependencies.
2020-04-21 13:13:48 +05:30
Ritiek Malhotra 42dd650ed8 CLI optimizations 2020-04-17 14:32:57 +05:30
Ritiek Malhotra 164f342262 Lyric optimizations 2020-04-13 03:19:14 +05:30
Ritiek Malhotra 9a088ee26d A bit of thread refactoring 2020-04-12 17:09:15 +05:30
Ritiek Malhotra a253c308a6 Accept additional command-line options 2020-04-12 14:13:21 +05:30
Ritiek Malhotra 0a8a0db54e Deal with depracated arguments 2020-04-12 02:46:15 +05:30
Ritiek Malhotra 0e7da1cd97 Remove obsolete code 2020-04-12 01:10:32 +05:30
Ritiek Malhotra 9afd14282a Very brittle command-line frontend 2020-04-11 22:03:47 +05:30
Ritiek Malhotra 14104e6870 Tests for util.py 2020-04-09 14:02:44 +05:30
Ritiek Malhotra 482ba4cb25 Remove old code 2020-04-09 01:05:03 +05:30
Ritiek Malhotra e5ecc2dd1e Fix a local test requiring internet 2020-04-09 00:54:48 +05:30
Ritiek Malhotra 47247f7250 Add additional methods to fetch lyrics
The following inputs can now be used to fetch lyrics:
* artist and track names
* search query
* direct url
2020-04-08 21:43:58 +05:30
Ritiek Malhotra 51da0b7a29 Basic downloading 2020-04-08 08:00:43 +05:30
Ritiek Malhotra 121fcdcdf6 Authenticating services 2020-04-02 04:14:07 +05:30
Ritiek Malhotra 2bb9a965f5 Document YouTube tests 2020-03-27 13:42:36 +05:30
Ritiek Malhotra 68c25e2aaa Write tests for YouTube metadata 2020-03-27 04:33:00 +05:30
Ritiek Malhotra c9a804268d Refactor embedding metadata to media 2020-03-25 02:04:24 +05:30
Ritiek Malhotra d154b2be20 Download while simultaneously encoding 2020-03-23 18:29:23 +05:30
Ritiek Malhotra 7413c541d3 Decouple fetching metadata 2020-03-22 21:44:04 +05:30
Ritiek Malhotra dae76a0abb Add tests for encoders
and some refactoring
2020-03-17 17:58:44 +05:30
Ritiek Malhotra 29005f24ed Refactor exceptions
* Suffix names for custom exceptions with "Error"
* Introduce exceptions for when the coressponding encoder isn't found
2020-03-17 03:09:56 +05:30
Ritiek Malhotra 083c430489 Improve directory tree 2020-03-16 18:43:59 +05:30
Ritiek Malhotra 5adb3d0a4d Refactor encoding 2020-03-16 18:12:52 +05:30
Ritiek Malhotra 4b5ec6121c Release changes for v1.2.6 2020-03-02 17:46:42 +05:30
Ritiek Malhotra dc829815f5 Embed release and year metadata only when available
Follow up of #672.
2020-03-02 17:40:30 +05:30
Ritiek Malhotra ea4ff29e52 Changes for v1.2.5 2020-03-02 16:04:00 +05:30
Ritiek Malhotra 9a594d37c7 Skip Youtube-API-only fields when scraping
This happens because YouTube recently disabled older API keys for some
reason, and so the API key being used internally in Pafy no longer
works.

See #671 for more information.
2020-03-02 15:49:21 +05:30
Avinash Reddy 75114bc26e Update convert.py 2020-03-01 11:01:54 +05:30
Avinash Reddy 456b404e73 Higher bitrate audio conversion.
Changed FFMPEG args to convert to 48k quality audio instead of the current 44k audio.
As @hal1200 says: https://github.com/ritiek/spotify-downloader/issues/620#issuecomment-548964142
Might solve the issue here: https://github.com/ritiek/spotify-downloader/issues/620
2020-02-23 11:52:45 +05:30
Ritiek Malhotra b24802f815 Bump to v1.2.4 2020-01-10 15:52:53 +05:30
Ritiek Malhotra c73f55b8ce Fix crash when lyrics not yet released on Genius
There are some tracks on Genius whose lyrics are yet to be released.
When the tool previously attempted to scrape such webpages, it
resulted in a crash.
The tool will now raise an exception; LyricNotFoundError when such a
track is encountered, which is then handled internally by the tool.

Example of one such track on Genius:
https://genius.com/The-federal-empire-good-man-lyrics

Fixes #647.
2020-01-10 15:33:02 +05:30
Ritiek Malhotra 7f587fe667 Fix KeyError when a track isn't found on Spotify
Ids only exist for Spotify URIs.

Regression caused by #568. Fixes #649.
2020-01-10 11:42:44 +05:30
Ritiek Malhotra af4ccea206 Bump version for v1.2.3 release
Also removed "Beta status" from the classifier list in setup.py
2019-12-20 03:09:16 +05:30
Ritiek Malhotra ca1ab5118c Patch all Pafy versions till v0.5.5
For some reason, the newer release v0.5.5 of Pafy still does not
contain the new methods that were supposed to be a part of the release.
With this commit, we change to also apply patches on v0.5.5.

Addresses #633, #631.
2019-12-17 12:58:51 +05:30