Change back to functions for consistency

This commit is contained in:
Ritiek
2017-06-16 21:12:03 +05:30
parent 42d45db998
commit c9e341e2ef

View File

@@ -20,90 +20,87 @@ def compare(file, metadata):
already_tagged = False already_tagged = False
return already_tagged return already_tagged
class embed(object): def embed(music_file, meta_tags, output_ext):
if meta_tags is None:
print('Could not find meta-tags')
elif output_ext == '.m4a':
print('Fixing meta-tags')
embed_m4a(music_file, meta_tags, output_ext)
elif output_ext == '.mp3':
print('Fixing meta-tags')
embed_mp3(music_file, meta_tags, output_ext)
else:
print('Cannot embed meta-tags into given output extension')
def __init__(self, music_file, meta_tags, output_ext): def embed_mp3(music_file, meta_tags, output_ext):
artists = []
for artist in meta_tags['artists']:
artists.append(artist['name'])
audiofile = EasyID3('Music/' + music_file + output_ext)
audiofile['artist'] = artists
audiofile['albumartist'] = meta_tags['artists'][0]['name']
audiofile['album'] = meta_tags['album']['name']
audiofile['title'] = meta_tags['name']
audiofile['tracknumber'] = [meta_tags['track_number'], meta_tags['total_tracks']]
audiofile['discnumber'] = [meta_tags['disc_number'], 0]
audiofile['date'] = meta_tags['release_date']
audiofile['originaldate'] = meta_tags['release_date']
audiofile['media'] = meta_tags['type']
audiofile['copyright'] = meta_tags['copyright']
audiofile['author'] = meta_tags['artists'][0]['name']
audiofile['lyricist'] = meta_tags['artists'][0]['name']
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']
audiofile.save(v2_version=3)
audiofile = ID3('Music/' + music_file + output_ext)
albumart = urllib2.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()
audiofile.save(v2_version=3)
if meta_tags is None: def embed_m4a(music_file, meta_tags, output_ext):
print('Could not find meta-tags') # eyed serves only mp3 not aac so using mutagen
elif output_ext == '.m4a': # Apple has specific tags - see mutagen docs -
print('Fixing meta-tags') # http://mutagen.readthedocs.io/en/latest/api/mp4.html
self.embed_m4a(music_file, meta_tags, output_ext) tags = {'album': '\xa9alb',
elif output_ext == '.mp3': 'artist': '\xa9ART',
print('Fixing meta-tags') 'date': '\xa9day',
self.embed_mp3(music_file, meta_tags, output_ext) 'title': '\xa9nam',
else: 'originaldate': 'purd',
print('Cannot embed meta-tags into given output extension') 'comment': '\xa9cmt',
'group': '\xa9grp',
'writer': '\xa9wrt',
'genre': '\xa9gen',
'tracknumber': 'trkn',
'albumartist': 'aART',
'disknumber': 'disk',
'cpil': 'cpil',
'albumart': 'covr',
'copyright': 'cprt',
'tempo': 'tmpo'}
def embed_mp3(self, music_file, meta_tags, output_ext): artists = []
artists = [] for artist in meta_tags['artists']:
for artist in meta_tags['artists']: artists.append(artist['name'])
artists.append(artist['name']) audiofile = MP4('Music/' + music_file + output_ext)
audiofile = EasyID3('Music/' + music_file + output_ext) audiofile[tags['artist']] = artists
audiofile['artist'] = artists audiofile[tags['albumartist']] = meta_tags['artists'][0]['name']
audiofile['albumartist'] = meta_tags['artists'][0]['name'] audiofile[tags['album']] = meta_tags['album']['name']
audiofile['album'] = meta_tags['album']['name'] audiofile[tags['title']] = meta_tags['name']
audiofile['title'] = meta_tags['name'] audiofile[tags['tracknumber']] = [(meta_tags['track_number'], meta_tags['total_tracks'])]
audiofile['tracknumber'] = [meta_tags['track_number'], meta_tags['total_tracks']] audiofile[tags['disknumber']] = [(meta_tags['disc_number'], 0)]
audiofile['discnumber'] = [meta_tags['disc_number'], 0] audiofile[tags['date']] = meta_tags['release_date']
audiofile['date'] = meta_tags['release_date'] audiofile[tags['originaldate']] = meta_tags['release_date']
audiofile['originaldate'] = meta_tags['release_date'] audiofile[tags['copyright']] = meta_tags['copyright']
audiofile['media'] = meta_tags['type'] if meta_tags['genre']:
audiofile['copyright'] = meta_tags['copyright'] audiofile[tags['genre']] = meta_tags['genre']
audiofile['author'] = meta_tags['artists'][0]['name'] albumart = urllib2.urlopen(meta_tags['album']['images'][0]['url'])
audiofile['lyricist'] = meta_tags['artists'][0]['name'] audiofile[tags['albumart']] = [ MP4Cover(albumart.read(), imageformat=MP4Cover.FORMAT_JPEG) ]
audiofile['arranger'] = meta_tags['artists'][0]['name'] albumart.close()
audiofile['performer'] = meta_tags['artists'][0]['name'] audiofile.save()
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']
audiofile.save(v2_version=3)
audiofile = ID3('Music/' + music_file + output_ext)
albumart = urllib2.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()
audiofile.save(v2_version=3)
def embed_m4a(self, music_file, meta_tags, output_ext):
# eyed serves only mp3 not aac so using mutagen
# Apple has specific tags - see mutagen docs -
# http://mutagen.readthedocs.io/en/latest/api/mp4.html
tags = {'album': '\xa9alb',
'artist': '\xa9ART',
'date': '\xa9day',
'title': '\xa9nam',
'originaldate': 'purd',
'comment': '\xa9cmt',
'group': '\xa9grp',
'writer': '\xa9wrt',
'genre': '\xa9gen',
'tracknumber': 'trkn',
'albumartist': 'aART',
'disknumber': 'disk',
'cpil': 'cpil',
'albumart': 'covr',
'copyright': 'cprt',
'tempo': 'tmpo'}
artists = []
for artist in meta_tags['artists']:
artists.append(artist['name'])
audiofile = MP4('Music/' + music_file + output_ext)
audiofile[tags['artist']] = artists
audiofile[tags['albumartist']] = meta_tags['artists'][0]['name']
audiofile[tags['album']] = meta_tags['album']['name']
audiofile[tags['title']] = meta_tags['name']
audiofile[tags['tracknumber']] = [(meta_tags['track_number'], meta_tags['total_tracks'])]
audiofile[tags['disknumber']] = [(meta_tags['disc_number'], 0)]
audiofile[tags['date']] = meta_tags['release_date']
audiofile[tags['originaldate']] = meta_tags['release_date']
audiofile[tags['copyright']] = meta_tags['copyright']
if meta_tags['genre']:
audiofile[tags['genre']] = meta_tags['genre']
albumart = urllib2.urlopen(meta_tags['album']['images'][0]['url'])
audiofile[tags['albumart']] = [ MP4Cover(albumart.read(), imageformat=MP4Cover.FORMAT_JPEG) ]
albumart.close()
audiofile.save()