Update zspotify.py

This commit is contained in:
Footsiefat 2021-10-16 21:41:30 +13:00 committed by GitHub
parent 97c2812522
commit c138b0c7a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -361,50 +361,52 @@ def downloadTrack(track_id_str: str, extra_paths = ""):
print("### FOUND SONG:", songName, " ###") print("### FOUND SONG:", songName, " ###")
stream = session.content_feeder().load( try:
track_id, VorbisOnlyAudioQuality(quality), False, None) stream = session.content_feeder().load(
track_id, VorbisOnlyAudioQuality(quality), False, None)
except:
print("### SKIPPING:", songName, "(GENERAL DOWNLOAD ERROR) ###")
else:
print("### DOWNLOADING RAW AUDIO ###")
if not os.path.isdir(rootPath + extra_paths):
os.makedirs(rootPath + extra_paths)
print("### DOWNLOADING RAW AUDIO ###") with open(filename,'wb') as f:
'''
chunk_size = 1024 * 16
buffer = bytearray(chunk_size)
bpos = 0
'''
if not os.path.isdir(rootPath + extra_paths): #With the updated version of librespot my faster download method broke so we are using the old fallback method
os.makedirs(rootPath + extra_paths) while True:
byte = stream.input_stream.stream().read()
if byte == b'':
break
f.write(byte)
with open(filename,'wb') as f: '''
''' while True:
chunk_size = 1024 * 16 byte = stream.input_stream.stream().read()
buffer = bytearray(chunk_size)
bpos = 0
'''
#With the updated version of librespot my faster download method broke so we are using the old fallback method if byte == -1:
while True: # flush buffer before breaking
byte = stream.input_stream.stream().read() if bpos > 0:
if byte == b'': f.write(buffer[0:bpos])
break break
f.write(byte)
''' print(bpos)
while True: buffer[bpos] = byte
byte = stream.input_stream.stream().read() bpos += 1
if byte == -1: if bpos == (chunk_size):
# flush buffer before breaking f.write(buffer)
if bpos > 0: bpos = 0
f.write(buffer[0:bpos]) '''
break convertToMp3(filename)
setAudioTags(filename, artists, name, albumName, releaseYear, disc_number, track_number)
print(bpos) setMusicThumbnail(filename, imageUrl)
buffer[bpos] = byte
bpos += 1
if bpos == (chunk_size):
f.write(buffer)
bpos = 0
'''
convertToMp3(filename)
setAudioTags(filename, artists, name, albumName, releaseYear, disc_number, track_number)
setMusicThumbnail(filename, imageUrl)
def downloadAlbum(album): def downloadAlbum(album):
token = session.tokens().get("user-read-email") token = session.tokens().get("user-read-email")