Improve whether the file exists.
This commit is contained in:
parent
d810377d9f
commit
a148e91524
|
@ -24,13 +24,14 @@ def download_song_by_song(song, download_folder):
|
||||||
|
|
||||||
# download song
|
# download song
|
||||||
song_url = api.get_song_url(song_id)
|
song_url = api.get_song_url(song_id)
|
||||||
print('song url is:', song_url)
|
is_already_download = download_file(song_url, song_file_name, download_folder)
|
||||||
download_file(song_url, song_file_name, download_folder)
|
if is_already_download:
|
||||||
|
print('Mp3 file already download:', song_file_name)
|
||||||
|
return
|
||||||
|
|
||||||
# download cover
|
# download cover
|
||||||
cover_url = song['album']['blurPicUrl']
|
cover_url = song['album']['blurPicUrl']
|
||||||
cover_file_name = 'cover_{}.jpg'.format(song_id)
|
cover_file_name = 'cover_{}.jpg'.format(song_id)
|
||||||
print('cover url:', cover_url)
|
|
||||||
download_file(cover_url, cover_file_name, download_folder)
|
download_file(cover_url, cover_file_name, download_folder)
|
||||||
|
|
||||||
# add metadata for song
|
# add metadata for song
|
||||||
|
@ -48,9 +49,13 @@ def download_file(file_url, file_name, folder):
|
||||||
os.makedirs(folder)
|
os.makedirs(folder)
|
||||||
file_path = os.path.join(folder, file_name)
|
file_path = os.path.join(folder, file_name)
|
||||||
|
|
||||||
# if not os.path.exists(file_path):
|
|
||||||
response = requests.get(file_url, stream=True)
|
response = requests.get(file_url, stream=True)
|
||||||
length = int(response.headers.get('Content-Length'))
|
length = int(response.headers.get('Content-Length'))
|
||||||
|
|
||||||
|
# TODO need to improve whether the file exists
|
||||||
|
if os.path.exists(file_path) and os.path.getsize(file_path) > length:
|
||||||
|
return True
|
||||||
|
|
||||||
progress = ProgressBar(file_name, length)
|
progress = ProgressBar(file_name, length)
|
||||||
|
|
||||||
with open(file_path, 'wb') as file:
|
with open(file_path, 'wb') as file:
|
||||||
|
@ -58,6 +63,7 @@ def download_file(file_url, file_name, folder):
|
||||||
if buffer:
|
if buffer:
|
||||||
file.write(buffer)
|
file.write(buffer)
|
||||||
progress.refresh(len(buffer))
|
progress.refresh(len(buffer))
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
class ProgressBar(object):
|
class ProgressBar(object):
|
||||||
|
|
Loading…
Reference in New Issue