Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish v3.6.0 #1291

Merged
merged 15 commits into from
May 25, 2021
Merged

Publish v3.6.0 #1291

merged 15 commits into from
May 25, 2021

Conversation

Silverarmor
Copy link
Member

Publish v3.6.0 - Merge dev into master.

See individual commits for further details

xnetcat and others added 10 commits April 24, 2021 08:14
* ignore .cache and other hidden files

* ignore .cache
* bump python version for tests

* `py -V` should return python 3.6.1 or greater

* bump python version in setup.cfg
* remove normalization

* increase bitrate converted

* simplify ffmpeg command string
* Initial Attempts at implementing:
 - user auth
 - library download

* Finished implementing OAuth2.
Problem is how can I feed the access and refresh tokens to spotipy?

* Many changes:
- Turned get_tokens function into SpotifyUserAuth (custom Spotipy-compatible Auth Manager)
- SpotifyUserAuth now automatically refreshes access tokens before they expire
- Added function to utils.py: get_saved_tracks, which gets all saved tracks by the current user. Fails without --user-auth
- Added "saved" keyword, so that if it appears as a url in the command line, it downloads all saved tracks instead.
- Shut off logging by http.server instance

* Fixed flake8 and mypy errors

* Attempt at fixing tests

* Reverted to old API keys

* Flash fix because of a missing comma

* Added .tox/ to .gitignore

* Removed .tox

* Reverted to Spotipy's built-in OAuth

* Parallelized getting songs from library
Yields speed improvement

* Fixed mypy and flake8 errors
Added .cache to gititgnore

* Update spotdl/search/spotifyClient.py

Co-authored-by: Jakub <42355410+xnetcat@users.noreply.github.com>

* Update spotdl/search/__init__.py

Co-authored-by: Jakub <42355410+xnetcat@users.noreply.github.com>

* Added check for --user-auth when downloading saved songs
Fixed small typo in spotifyClient.py

* Switched to use @xnetcat 's API keys

* PEP-8 compliant argument fixed in test_entr_point.py

* Yet another typo

* Fixed flake8 mistakes

* Wrong example in help fixed

Co-authored-by: Jakub <42355410+xnetcat@users.noreply.github.com>

* Typo in docstring

Co-authored-by: Jakub <42355410+xnetcat@users.noreply.github.com>

* Another typo

Co-authored-by: Jakub <42355410+xnetcat@users.noreply.github.com>

* update client id

Co-authored-by: Silverarmor <23619946+Silverarmor@users.noreply.github.com>

* update client secret

Co-authored-by: Silverarmor <23619946+Silverarmor@users.noreply.github.com>

* Auto --user-auth behavior

* Fixed flake8 error

Co-authored-by: Jakub <42355410+xnetcat@users.noreply.github.com>
Co-authored-by: Silverarmor <23619946+Silverarmor@users.noreply.github.com>
* moved file name creation to separate function

* don't check for duplicates when downloading

* return `None` if song is already downloaded

* check if songObj is `None` (already downloaded)

* Simplified creation of the `convertedFileName` string

Co-authored-by: Oliver Blanthorn <freedom4cows@gmail.com>

* don't lower the main artist

* simplified check for disallowed chars

Co-authored-by: Oliver Blanthorn <freedom4cows@gmail.com>
* use correct path to check ffmpeg

* prevent running arbitrary code

Also
- print both out and err when ffmpeg fails
- use create_subprocess_exec and pass arguments

* fixed flake8 error

* fixed mypy errors

* removed trackAudioStream since it's no longer used

* updated tests

* lowered required ffmpeg version

* removed unnecessary escaping

* pep8 ffmpeg.py
* improved search results by getting "song" type results first

* regenerate cassettes

* improved nameMatch accuracy

* improved album match

* convert songAlbumName to lowercase

* return None if no songs are found

* transliterate Unicode artist and song to ASCII

* fixed flake8 errors

* fallback to searching artist in channel name if artistMatchNumber is 0

* drop results below 60

* skip results with nameMatch of 0

* black: provider.py

* flake8: provider.py

* regenerate cassettes

* regenerate cassettes again
@Silverarmor Silverarmor added the Skip Changelog PRs to skip changelog label May 24, 2021
xnetcat and others added 2 commits May 25, 2021 10:06
* don't download the same albums few times

spotify has different albums id's for different countries

* search for duplicate songs

* fixed mypy errors

* added comments

* more documentation

* fixed duplicates

* fixed flake8 error

* updated ffmpeg.py after merge

* regenerate cassettes

* Revert "updated ffmpeg.py after merge"

This reverts commit 70d9979.

* Revert "regenerate cassettes"

This reverts commit 8a5ea04.
* Added new output formats to .gitignore

and Temp folder

* added blank line between functions

* allow specifying output format when converting songs

* convert songs to specified format

* updated tests

* specified allowed output formats

* fixed flake8 errors

* use ffmpeg_path to check ffmpeg version & fixed flake8 errors

* Update spotdl/download/downloader.py

Co-authored-by: Andrzej Klajnert <github@aklajnert.pl>

* fixed ffmpeg command

* improved set_id3_data function, elif chain are quite error-prone

* fixed flake8 errors

* don't use mutable default argument

* added ffmpeg and embed_metadata to __init__

* pep8: embed_metadata

* pep8: ffmpeg.py

* fixed tests

* fixed ffmpeg command

* removed not needed character escape

* fixed paths

* removed duplicate item from dict

* fixed typo

* fixed ffmpeg arguments

* removed debugging code

* fixed ffmpeg tests

* flake8: ffmpeg.py

Co-authored-by: Andrzej Klajnert <github@aklajnert.pl>
README.md Outdated Show resolved Hide resolved
.gitignore Outdated Show resolved Hide resolved
Silverarmor and others added 2 commits May 25, 2021 10:32
* removed si parameter from spotify links

* updated help notice and readme

* changed required ffmpeg version

* Update INSTALLATION.md

Co-authored-by: Silverarmor <23619946+Silverarmor@users.noreply.github.com>
@Silverarmor Silverarmor merged commit 7e69cd7 into master May 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Skip Changelog PRs to skip changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants