diff --git a/core/metadata.py b/core/metadata.py index 8abe31b..30307bb 100755 --- a/core/metadata.py +++ b/core/metadata.py @@ -68,10 +68,13 @@ def embed_mp3(music_file, meta_tags): audiofile['isrc'] = meta_tags['external_ids']['isrc'] audiofile.save(v2_version=3) audiofile = ID3(music_file) - albumart = urllib.request.urlopen(meta_tags['album']['images'][0]['url']) - audiofile["APIC"] = APIC(encoding=3, mime='image/jpeg', type=3, - desc=u'Cover', data=albumart.read()) - albumart.close() + try: + albumart = urllib.request.urlopen(meta_tags['album']['images'][0]['url']) + audiofile["APIC"] = APIC(encoding=3, mime='image/jpeg', type=3, + desc=u'Cover', data=albumart.read()) + albumart.close() + except IndexError: + albumart = None audiofile.save(v2_version=3) return True diff --git a/spotdl.py b/spotdl.py index 25c753c..5695fbb 100755 --- a/spotdl.py +++ b/spotdl.py @@ -362,10 +362,11 @@ def grab_single(raw_song, number=None): # generate file name of the song to download meta_tags = generate_metadata(raw_song) - if meta_tags is None: + songname = generate_songname(meta_tags) + + if meta_tags is None or songname == ' - ': songname = content.title - else: - songname = generate_songname(meta_tags) + file_name = misc.sanitize_title(songname) if not check_exists(file_name, raw_song, islist=islist):