Feel free to take a look at how it works! The code isn't obfuscated and I think it's reasonably understandable. Feel free to shoot me a message if you have any questions.
Here's an overview of how it works:
- Authorizes with your Spotify account.
- Retrieves playlist data from Spotify.
- Checks for changes:
- New playlists
- New tracks in playlists
- Checks against previously downloaded tracks to see what needs to be downloaded.
So now the program knows the tracks you've added to your Spotify playlists, and it can start downloading the changes.
- Authorizes with your deezer account.
- Downloads the new tracks using deemix.
- Downloads the rest of the new tracks using youtube_dl.
- Stores the tracks in playlist format: JSON, m3u, and iTunes, as appropriate.
Some of the main libraries iDeemYouWorthy uses:
- deemix to download the tracks.
- The iTunes COM library to interface with iTunes. Its documentation is available from Apple's developer website (search for "iTunes"). You need a free developer account. A digital version of the documentation can be found here. To see how to use Windows COM with Python, check this out.
- Spotipy, a Python library for Spotify's web API.
- youtube_dl to download YouTube videos.
- youtube_search to search for YouTube videos.