Sto cercando di aggiornare i metadati di un gruppo di file mp3 utilizzando Python e la sua API eyeD3.Python + eyeD3: impossibile salvare la data sui metadati mp3
Sembra abbastanza semplice, il codice sto usando appare come segue:
if not eyeD3.isMp3File(filename):
print filename, 'is not a mp3 file. Ignoring it.'
tag = eyeD3.Tag()
tag.link(filename)
tag.setVersion(eyeD3.ID3_V2)
tag.setTextEncoding(eyeD3.UTF_8_ENCODING)
tag.setTitle(dataset['Title'])
tag.setDate(datetime.datetime.now().year)
tag.update()
ciò che accade è: codice viene eseguito in silenzio (nessun errore o eccezioni), il titolo è impostato correttamente, la data non è set nel file di destinazione. Rimane vuoto o impostato sul valore precedente (verificato in entrambi i casi).
Aiuto per la funzione setDate non è particolarmente divertente:
setDate(self, year, month=None, dayOfMonth=None, hour=None, minute=None, second=None, fid=None) unbound eyeD3.tag.Tag method
... ma mi dice che la mia chiamata dovrebbe essere ok. Qualche idea su cosa sta succedendo qui?
Avendo gettato uno sguardo sul codice sorgente, non vedo nulla di chiaramente sbagliato. –
Ho scoperto che la riga di comando eyeD3 fa esattamente la stessa cosa: non cambia la data, ma non riporta alcun errore. Avendo una scadenza in arrivo, ho usato Mutagen per questo scopo. Immagino che abbiamo un bug in eyeD3 da qualche parte. – zencodism