mirror of
https://github.com/THIS-IS-NOT-A-BACKUP/zspotify.git
synced 2024-11-29 19:24:34 +01:00
Added option to download all saved tracks
This commit is contained in:
parent
9aa3b48418
commit
04b57356c3
28
zspotify.py
28
zspotify.py
@ -87,7 +87,14 @@ def client():
|
|||||||
quality = AudioQuality.HIGH
|
quality = AudioQuality.HIGH
|
||||||
|
|
||||||
if len(sys.argv) > 1:
|
if len(sys.argv) > 1:
|
||||||
if sys.argv[1] != "-p" and sys.argv[1] != "--playlist":
|
if sys.argv[1] == "-p" or sys.argv[1] == "--playlist":
|
||||||
|
downloadFromOurPlaylists()
|
||||||
|
elif sys.argv[1] == "-ls" or sys.argv[1] == "--liked-songs":
|
||||||
|
savedSongs = get_saved_tracks(token)
|
||||||
|
for song in savedSongs:
|
||||||
|
downloadTrack(song['track']['id'], "Liked Songs/")
|
||||||
|
print("\n")
|
||||||
|
else:
|
||||||
track_uri_search = re.search(
|
track_uri_search = re.search(
|
||||||
r"^spotify:track:(?P<TrackID>[0-9a-zA-Z]{22})$", sys.argv[1])
|
r"^spotify:track:(?P<TrackID>[0-9a-zA-Z]{22})$", sys.argv[1])
|
||||||
track_url_search = re.search(
|
track_url_search = re.search(
|
||||||
@ -131,8 +138,6 @@ def client():
|
|||||||
for song in playlistSongs:
|
for song in playlistSongs:
|
||||||
downloadTrack(song['track']['id'], sanitizeData(name) + "/")
|
downloadTrack(song['track']['id'], sanitizeData(name) + "/")
|
||||||
print("\n")
|
print("\n")
|
||||||
else:
|
|
||||||
downloadFromOurPlaylists()
|
|
||||||
else:
|
else:
|
||||||
searchText = input("Enter search: ")
|
searchText = input("Enter search: ")
|
||||||
search(searchText)
|
search(searchText)
|
||||||
@ -353,6 +358,23 @@ def get_album_name(access_token, album_id):
|
|||||||
return resp['artists'][0]['name'], sanitizeData(resp['name'])
|
return resp['artists'][0]['name'], sanitizeData(resp['name'])
|
||||||
|
|
||||||
|
|
||||||
|
#Extra functions directly related to our saved tracks
|
||||||
|
def get_saved_tracks(access_token):
|
||||||
|
songs = []
|
||||||
|
offset = 0
|
||||||
|
limit = 50
|
||||||
|
|
||||||
|
while True:
|
||||||
|
headers = {'Authorization': f'Bearer {access_token}'}
|
||||||
|
params = {'limit': limit, 'offset': offset}
|
||||||
|
resp = requests.get(f'https://api.spotify.com/v1/me/tracks', headers=headers, params=params).json()
|
||||||
|
offset += limit
|
||||||
|
songs.extend(resp['items'])
|
||||||
|
|
||||||
|
if len(resp['items']) < limit:
|
||||||
|
break
|
||||||
|
|
||||||
|
return songs
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user