qobuz-dl/qo_utils/metadata.py
2020-08-09 22:47:51 -04:00

40 lines
1.5 KiB
Python

from mutagen.flac import FLAC
from pathvalidate import sanitize_filename
import os
def iterateTag(file, path, d, album, istrack=True):
audio = FLAC(file)
audio['TITLE'] = d['title'] # TRACK TITLE
audio['TRACKNUMBER'] = str(d['track_number']) # TRACK NUMBER
try:
audio['COMPOSER'] = d['composer']['name'] # COMPOSER
except KeyError:
pass
try:
audio['ARTIST'] = d['performer']['name'] # TRACK ARTIST
except KeyError:
if istrack:
audio['ARTIST'] = d['album']['artist']['name'] # TRACK ARTIST
else:
audio['ARTIST'] = album['artist']['name']
if istrack:
audio['GENRE'] = ', '.join(d['album']['genres_list']) # GENRE
audio['ALBUMARTIST'] = d['album']['artist']['name'] # ALBUM ARTIST
audio['TRACKTOTAL'] = str(d['album']['tracks_count']) # TRACK TOTAL
audio['ALBUM'] = d['album']['title'] # ALBUM TITLE
audio['YEAR'] = d['album']['release_date_original'].split('-')[0] # YEAR
else:
audio['GENRE'] = ', '.join(album['genres_list']) # GENRE
audio['ALBUMARTIST'] = album['artist']['name'] # ALBUM ARTIST
audio['TRACKTOTAL'] = str(album['tracks_count']) # TRACK TOTAL
audio['ALBUM'] = album['title'] # ALBUM TITLE
audio['YEAR'] = album['release_date_original'].split('-')[0] # YEAR
audio.save()
title = sanitize_filename(d['title'])
os.rename(file, '{}/{:02}. {}.flac'.format(path, d['track_number'], title))