[WIP] Migrate Away From Spotify Direct Download To Spotdl (yt-dlp backed) #3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Holy moly this ones been a while in the making.
I realized the Spotify-direct-download system was flawed, because it was violating the ToS in very obvious ways, and it was just a matter of time until most accounts were flagged (such as mine). They have a relatively strict system, where you get one warning and a temporary disable of your account, and then after that it's gone forever.
With that news, I opted to stop using this entirely and rethought how I could approach having a local copy of "good quality music", and keeping it more up to date with Spotify's catalog, rather than MusicBrainz smaller catalog. Don't get me wrong, I really appreciate MusicBrainz but it's catalog is just never kept up to date enough for any artist that isn't surging in popularity, and can make it hard to match music for local acquisition.
I stumbled upon https://github.com/spotDL/spotify-downloader, which raised a number of possibilities, and after tinkering around with it for a bit, and deciding I was happy with the quality of the music files, I opted to repurpose this project.
This project will remain on the same goal of what it original was, but will now require either two things:
In making this change and switching to the Spotdl & Spotipy API's, this should be both backwards compatible with existing "larger" libraries that already exist, and easier to maintain going forward since both projects are fairly well established and take away much of the "manual" process of specifically crafting network requests and parsing their responses.
There are a few things that are not 100% complete here, including:
settings.yaml
settings.yaml
-controlled)