mirror of
https://github.com/THIS-IS-NOT-A-BACKUP/zspotify.git
synced 2024-12-02 04:23:57 +01:00
Added download_from_urls helper function
This commit is contained in:
parent
feaed1ddca
commit
485d5ba826
@ -37,55 +37,13 @@ def client(args) -> None:
|
|||||||
with open(filename, 'r', encoding='utf-8') as file:
|
with open(filename, 'r', encoding='utf-8') as file:
|
||||||
urls.extend([line.strip() for line in file.readlines()])
|
urls.extend([line.strip() for line in file.readlines()])
|
||||||
|
|
||||||
for spotify_url in urls:
|
download_from_urls(urls)
|
||||||
track_id, album_id, playlist_id, episode_id, show_id, artist_id = regex_input_for_urls(
|
|
||||||
spotify_url)
|
|
||||||
|
|
||||||
if track_id is not None:
|
|
||||||
download_track(track_id)
|
|
||||||
elif artist_id is not None:
|
|
||||||
download_artist_albums(artist_id)
|
|
||||||
elif album_id is not None:
|
|
||||||
download_album(album_id)
|
|
||||||
elif playlist_id is not None:
|
|
||||||
playlist_songs = get_playlist_songs(playlist_id)
|
|
||||||
name, _ = get_playlist_info(playlist_id)
|
|
||||||
for song in playlist_songs:
|
|
||||||
download_track(song[TRACK][ID],
|
|
||||||
fix_filename(name) + '/')
|
|
||||||
print('\n')
|
|
||||||
elif episode_id is not None:
|
|
||||||
download_episode(episode_id)
|
|
||||||
elif show_id is not None:
|
|
||||||
for episode in get_show_episodes(show_id):
|
|
||||||
download_episode(episode)
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
print(f'File {filename} not found.\n')
|
print(f'File {filename} not found.\n')
|
||||||
|
|
||||||
if args.urls:
|
if args.urls:
|
||||||
for spotify_url in args.urls:
|
download_from_urls(args.urls)
|
||||||
track_id, album_id, playlist_id, episode_id, show_id, artist_id = regex_input_for_urls(
|
|
||||||
spotify_url)
|
|
||||||
|
|
||||||
if track_id is not None:
|
|
||||||
download_track(track_id)
|
|
||||||
elif artist_id is not None:
|
|
||||||
download_artist_albums(artist_id)
|
|
||||||
elif album_id is not None:
|
|
||||||
download_album(album_id)
|
|
||||||
elif playlist_id is not None:
|
|
||||||
playlist_songs = get_playlist_songs(playlist_id)
|
|
||||||
name, _ = get_playlist_info(playlist_id)
|
|
||||||
for song in playlist_songs:
|
|
||||||
download_track(song[TRACK][ID],
|
|
||||||
fix_filename(name) + '/')
|
|
||||||
print('\n')
|
|
||||||
elif episode_id is not None:
|
|
||||||
download_episode(episode_id)
|
|
||||||
elif show_id is not None:
|
|
||||||
for episode in get_show_episodes(show_id):
|
|
||||||
download_episode(episode)
|
|
||||||
|
|
||||||
if args.playlist:
|
if args.playlist:
|
||||||
download_from_user_playlist()
|
download_from_user_playlist()
|
||||||
@ -104,28 +62,43 @@ def client(args) -> None:
|
|||||||
while len(search_text) == 0:
|
while len(search_text) == 0:
|
||||||
search_text = input('Enter search or URL: ')
|
search_text = input('Enter search or URL: ')
|
||||||
|
|
||||||
|
if not download_from_urls([search_text]):
|
||||||
|
search(search_text)
|
||||||
|
|
||||||
|
def download_from_urls(urls: list[str]) -> bool:
|
||||||
|
""" Downloads from a list of spotify urls """
|
||||||
|
download = False
|
||||||
|
|
||||||
|
for spotify_url in urls:
|
||||||
track_id, album_id, playlist_id, episode_id, show_id, artist_id = regex_input_for_urls(
|
track_id, album_id, playlist_id, episode_id, show_id, artist_id = regex_input_for_urls(
|
||||||
search_text)
|
spotify_url)
|
||||||
|
|
||||||
if track_id is not None:
|
if track_id is not None:
|
||||||
|
download = True
|
||||||
download_track(track_id)
|
download_track(track_id)
|
||||||
elif artist_id is not None:
|
elif artist_id is not None:
|
||||||
|
download = True
|
||||||
download_artist_albums(artist_id)
|
download_artist_albums(artist_id)
|
||||||
elif album_id is not None:
|
elif album_id is not None:
|
||||||
|
download = True
|
||||||
download_album(album_id)
|
download_album(album_id)
|
||||||
elif playlist_id is not None:
|
elif playlist_id is not None:
|
||||||
|
download = True
|
||||||
playlist_songs = get_playlist_songs(playlist_id)
|
playlist_songs = get_playlist_songs(playlist_id)
|
||||||
name, _ = get_playlist_info(playlist_id)
|
name, _ = get_playlist_info(playlist_id)
|
||||||
for song in playlist_songs:
|
for song in playlist_songs:
|
||||||
download_track(song[TRACK][ID], fix_filename(name) + '/')
|
download_track(song[TRACK][ID],
|
||||||
|
fix_filename(name) + '/')
|
||||||
print('\n')
|
print('\n')
|
||||||
elif episode_id is not None:
|
elif episode_id is not None:
|
||||||
|
download = True
|
||||||
download_episode(episode_id)
|
download_episode(episode_id)
|
||||||
elif show_id is not None:
|
elif show_id is not None:
|
||||||
|
download = True
|
||||||
for episode in get_show_episodes(show_id):
|
for episode in get_show_episodes(show_id):
|
||||||
download_episode(episode)
|
download_episode(episode)
|
||||||
else:
|
|
||||||
search(search_text)
|
return download
|
||||||
|
|
||||||
|
|
||||||
def search(search_term):
|
def search(search_term):
|
||||||
|
Loading…
Reference in New Issue
Block a user