mirror of
				https://github.com/THIS-IS-NOT-A-BACKUP/zspotify.git
				synced 2025-11-04 05:20:34 +00: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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user