Had a wonderful song collection of Old hindi songs, in the format of “somenumber title (moviename).mp3”. Had to find way to update the ID3 tag info. Opensource to help yet again.
Installed a module named python-id3, Using yum install python-id3
. Then wrote a small script in python using regular expressions, glob and the newly installed MP3 ID3 tagging module
#!/bin/env python import os, glob, re, sys from ID3 import * def strip(str): return str.lstrip().rstrip() os.chdir('/media/Carrington/Music/old-hindi-hit') mp3s = glob.glob('*.mp3') r = re.compile('([\d]+(([\s])*?[\w\s]+)\s?(\((.*?)\)?)?)\.mp3', re.I) i = 1 for mp3 in mp3s: print str(i) + ": " + mp3 gr = r.match(mp3) #print gr.groups() id3info = ID3(open(mp3, 'r+b'), mp3) title = '' album = '' try: if (len(gr.groups()) >= 4): print "Title: %s, Album: %s" % (strip(gr.group(2)), strip(gr.group(5))) title = strip(gr.group(2)) album = strip(gr.group(5)) else: print "Title: %s" % (strip(gr.group(2))) title = strip(gr.group(2)) id3info.title = title id3info.album = album id3info.genre = 'Old Hindi' id3info.artist = '' id3info.write() except: print sys.exc_info() i = i + 1