Question

I get a lot of podcasts that have no ID3 tags in them. I've tried a number of tools that I could use to loop through directories and add title and artist info to the ID3 tags, but they fail. I've tried ID3, eyed3 and mutagen. Most of the time if a file has no ID3 tag these modules fail.

Can someone recommend a good ID3 tag editor library that will work through loops? What else do I need to know about editing/adding ID3 tags when they're 100% blank? It's getting frustrating trying library after library only to find that the problem remains.

Thank you.

Was it helpful?

Solution

Mutagen handles this just fine:

>>> import mutagen
>>> from mutagen.easyid3 import EasyID3
>>> filePath = "8049.mp3"

>>> try:
>>>    meta = EasyID3(filePath)
>>> except mutagen.id3.ID3NoHeaderError:
>>>    meta = mutagen.File(filePath, easy=True)
>>>    meta.add_tags()
>>> meta
{}
>>> type(meta)
<class 'mutagen.easyid3.EasyID3'>
>>> meta['title'] = "This is a title"
>>> meta['artist'] = "Artist Name"
>>> meta['genre'] = "Space Funk"
>>> meta.save(filePath, v1=2)
>>> changed = EasyID3("8049.mp3")
>>> changed
{'genre': [u'Space Funk'], 'title': [u'This is a title'], 'artist': [u'Artist Name']}

OTHER TIPS

import mutagen.id3
import mutagen.mp3

M = mutagen.mp3.MP3(myfilepath)

if M.tags is None:
    M.tags = mutagen.id3.ID3()  # also sets the filepath for the ID3 instance

M.tags['TIT2'] = mutagen.id3.TIT2(encoding=1, text=['mytitle'])

M.save(v1=0, v2_version=3)  # save ID3v2.3 only without ID3v1 (default is ID3v2.4)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top