Fix KeyError when ISRC info unavailable

This commit is contained in:
ritiek
2017-07-20 05:18:52 +05:30
parent dc6019a1a5
commit 6ac25bda0c
2 changed files with 7 additions and 2 deletions

View File

@@ -58,13 +58,14 @@ def embed_mp3(music_file, meta_tags):
audiofile['arranger'] = meta_tags['artists'][0]['name']
audiofile['performer'] = meta_tags['artists'][0]['name']
audiofile['encodedby'] = meta_tags['publisher']
audiofile['isrc'] = meta_tags['external_ids']['isrc']
audiofile['website'] = meta_tags['external_urls']['spotify']
audiofile['length'] = str(meta_tags['duration_ms'] / 1000)
if meta_tags['genre']:
audiofile['genre'] = meta_tags['genre']
if meta_tags['copyright']:
audiofile['copyright'] = meta_tags['copyright']
if meta_tags['isrc']:
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'])

View File

@@ -46,6 +46,10 @@ def generate_metadata(raw_song):
meta_tags[u'copyright'] = album['copyrights'][0]['text']
except IndexError:
meta_tags[u'copyright'] = None
try:
meta_tags['isrc']
except KeyError:
meta_tags['isrc'] = None
meta_tags[u'release_date'] = album['release_date']
meta_tags[u'publisher'] = album['label']
@@ -62,7 +66,7 @@ def generate_youtube_url(raw_song):
item = urllib.request.urlopen(search_url).read()
# item = unicode(item, 'utf-8')
items_parse = BeautifulSoup(item, "html.parser")
videos = []
for x in items_parse.find_all('div', {'class': 'yt-lockup-dismissable yt-uix-tile'}):
# confirm the video result is not an advertisement