This replaces #36 and adds some other fixes! Execution speed should be much faster now, especially when there are not many changes to synchronize. * Maintain track cache between different playlists (thanks to @joshrmcdaniel for amazing work on that!) * Fix incorrect tidal_playlist_is_dirty() implementation * Remove more redundant API calls * Avoid unnecessarily spinning up tasks for tracks that were in match failure cache * Introduce new rate_limit configuration parameter implemented with leaky bucket rate-limiting algorithm * Where possible, add new tracks to existing playlist instead of erasing the old ones * Use asyncio multithreading instead of multiprocessing * When user has large number of spotify playlists, fetch them in parallel instead of one by one * More typing hints / typing fixes
20 lines
735 B
YAML
20 lines
735 B
YAML
spotify:
|
|
client_id: your_client_id
|
|
client_secret: your_client_secret
|
|
username: your_spotify_username
|
|
redirect_uri: http://localhost:8888/callback
|
|
|
|
|
|
# uncomment this block if you want to only sync specific playlist IDs
|
|
#sync_playlists:
|
|
# - spotify_id: 1ABCDEqsABCD6EaABCDa0a
|
|
# tidal_id: a0b1234-0a1b-012a-abcd-a1b234c5d6d7
|
|
|
|
# uncomment this block if you want to sync all playlists in the account with some exceptions
|
|
#excluded_playlists:
|
|
# - spotify:playlist:1ABCDEqsABCD6EaABCDa0a
|
|
|
|
# increasing these parameters should increase the search speed, while decreasing reduces likelihood of 429 errors
|
|
max_concurrency: 10 # max concurrent connections at any given time
|
|
rate_limit: 12 # max sustained connections per second
|