mirror of
				https://github.com/THIS-IS-NOT-A-BACKUP/zspotify.git
				synced 2025-11-03 21:10:34 +00:00 
			
		
		
		
	Made design more modern again and played with podcast stuff
This commit is contained in:
		
							parent
							
								
									6c0fc89696
								
							
						
					
					
						commit
						66b37e4f1c
					
				
							
								
								
									
										28
									
								
								zspotify.py
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								zspotify.py
									
									
									
									
									
								
							@ -3,6 +3,8 @@
 | 
				
			|||||||
"""
 | 
					"""
 | 
				
			||||||
ZSpotify
 | 
					ZSpotify
 | 
				
			||||||
It's like youtube-dl, but for Spotify.
 | 
					It's like youtube-dl, but for Spotify.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(Made by Deathmonger/Footsiefat - @doomslayer117:matrix.org)
 | 
				
			||||||
"""
 | 
					"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import json
 | 
					import json
 | 
				
			||||||
@ -85,11 +87,13 @@ def split_input(selection):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
def splash():
 | 
					def splash():
 | 
				
			||||||
    """ Displays splash screen """
 | 
					    """ Displays splash screen """
 | 
				
			||||||
    print("=================================\n"
 | 
					    print("""
 | 
				
			||||||
          "| ZSpotify                      |\n"
 | 
					███████ ███████ ██████   ██████  ████████ ██ ███████ ██    ██
 | 
				
			||||||
          "|                               |\n"
 | 
					   ███  ██      ██   ██ ██    ██    ██    ██ ██       ██  ██
 | 
				
			||||||
          "| by Footsiefat/Deathmonger     |\n"
 | 
					  ███   ███████ ██████  ██    ██    ██    ██ █████     ████
 | 
				
			||||||
          "=================================\n\n\n")
 | 
					 ███         ██ ██      ██    ██    ██    ██ ██         ██
 | 
				
			||||||
 | 
					███████ ███████ ██       ██████     ██    ██ ██         ██
 | 
				
			||||||
 | 
					    """)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# two mains functions for logging in and doing client stuff
 | 
					# two mains functions for logging in and doing client stuff
 | 
				
			||||||
@ -121,10 +125,10 @@ def client():
 | 
				
			|||||||
    token = SESSION.tokens().get("user-read-email")
 | 
					    token = SESSION.tokens().get("user-read-email")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if check_premium():
 | 
					    if check_premium():
 | 
				
			||||||
        print("###   DETECTED PREMIUM ACCOUNT - USING VERY_HIGH QUALITY   ###")
 | 
					        print("[ DETECTED PREMIUM ACCOUNT - USING VERY_HIGH QUALITY ]\n\n")
 | 
				
			||||||
        QUALITY = AudioQuality.VERY_HIGH
 | 
					        QUALITY = AudioQuality.VERY_HIGH
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
        print("###   DETECTED FREE ACCOUNT - USING HIGH QUALITY   ###")
 | 
					        print("[ DETECTED FREE ACCOUNT - USING HIGH QUALITY ]\n\n")
 | 
				
			||||||
        QUALITY = AudioQuality.HIGH
 | 
					        QUALITY = AudioQuality.HIGH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if len(sys.argv) > 1:
 | 
					    if len(sys.argv) > 1:
 | 
				
			||||||
@ -268,6 +272,7 @@ def get_episode_info(episode_id_str):
 | 
				
			|||||||
    if "error" in info:
 | 
					    if "error" in info:
 | 
				
			||||||
        return None, None
 | 
					        return None, None
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
 | 
					        # print(info['images'][0]['url'])
 | 
				
			||||||
        return sanitize_data(info["show"]["name"]), sanitize_data(info["name"])
 | 
					        return sanitize_data(info["show"]["name"]), sanitize_data(info["name"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -285,7 +290,7 @@ def get_show_episodes(access_token, show_id_str):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def download_episode(episode_id_str):
 | 
					def download_episode(episode_id_str):
 | 
				
			||||||
    global ROOT_PODCAST_PATH
 | 
					    global ROOT_PODCAST_PATH, MUSIC_FORMAT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    podcast_name, episode_name = get_episode_info(episode_id_str)
 | 
					    podcast_name, episode_name = get_episode_info(episode_id_str)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -299,8 +304,8 @@ def download_episode(episode_id_str):
 | 
				
			|||||||
        episode_id = EpisodeId.from_base62(episode_id_str)
 | 
					        episode_id = EpisodeId.from_base62(episode_id_str)
 | 
				
			||||||
        stream = SESSION.content_feeder().load(
 | 
					        stream = SESSION.content_feeder().load(
 | 
				
			||||||
            episode_id, VorbisOnlyAudioQuality(QUALITY), False, None)
 | 
					            episode_id, VorbisOnlyAudioQuality(QUALITY), False, None)
 | 
				
			||||||
        print("###  DOWNLOADING '" + podcast_name + " - " +
 | 
					        # print("###  DOWNLOADING '" + podcast_name + " - " +
 | 
				
			||||||
              episode_name + "' - THIS MAY TAKE A WHILE ###")
 | 
					        #      episode_name + "' - THIS MAY TAKE A WHILE ###")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if not os.path.isdir(ROOT_PODCAST_PATH + extra_paths):
 | 
					        if not os.path.isdir(ROOT_PODCAST_PATH + extra_paths):
 | 
				
			||||||
            os.makedirs(ROOT_PODCAST_PATH + extra_paths)
 | 
					            os.makedirs(ROOT_PODCAST_PATH + extra_paths)
 | 
				
			||||||
@ -317,6 +322,9 @@ def download_episode(episode_id_str):
 | 
				
			|||||||
                bar.update(file.write(
 | 
					                bar.update(file.write(
 | 
				
			||||||
                    stream.input_stream.stream().read(CHUNK_SIZE)))
 | 
					                    stream.input_stream.stream().read(CHUNK_SIZE)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # convert_audio_format(ROOT_PODCAST_PATH +
 | 
				
			||||||
 | 
					        #                     extra_paths + filename + ".wav")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # related functions that do stuff with the spotify API
 | 
					        # related functions that do stuff with the spotify API
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user