pastebin.ch - #python@freenode.net

Subject
#python@freenode.net
Author
a.l.e
Description
No description given
Posted on
Sun, 24 Jan 2010 18:22:51 +0100
Content
#!/usr/bin/python 
 
import os 
import sys 
import getopt 
from mutagen.easyid3 import ID3 
from mutagen.oggvorbis import OggVorbis 
 
optlist, args = getopt.getopt(sys.argv[1:], "", "misc") 
 
#print optlist 
misc = False 
for o, a in optlist: 
    if o == "--misc": 
        misc = True 
    elif o in ("-h", "--help"): 
        usage() 
        sys.exit() 
    else: 
        assert False, "unhandled option" 
 
 
path = os.getcwd()+'/' 
# print path 
 
song_list = [] 
 
for filename in args: 
    basename, extension = os.path.splitext(filename) 
    # print(filename) 
    # print(extension) 
    if extension == '.mp3' : 
        # print(filename) 
        track = {} 
        try : 
            track = ID3(path+filename) 
        except Exception : 
            print path+filename 
            print 'could not read ', filename 
            pass 
        if len(track) > 0 : 
            #print dir(track['TALB'].text) 
            #print dir(track) 
            #print track 
            song = { 
                'filename' : filename, 
                'extension' : extension, 
                'artist' : track['TPE1'].text[0], 
                'album' : track['TALB'].text[0], 
                'track' : track['TRCK'].text[0], 
                'title' : track['TIT2'].text[0], 
            } 
            #if not track.has_key('TSSE') : 
            #tagg[u"TSSE"] = ID3.TSSE() 
            #track['TSSE'].text = [''] 
 
            #print track 
            #track.save() 
            # print song 
            song_list.append(song) 
    elif extension == '.ogg' : 
        track = OggVorbis(path_file) 
        song = { 
            'filename' : filename, 
            'extension' : extension, 
            'artist' : track['artist'][0], 
            'album' : track['album'][0], 
            'track' : track['tracknumber'][0], 
            'title' : track['title'][0], 
        } 
for song in song_list: 
    mystring = "%s %d\t%3.2f %-8s" % ("Values:",42,56.89732,"tot") 
 
    song['track'] = "%02d" % (int(song['track'])) 
    if (misc) : 
        song['filename_new'] = ( 
            (song['album']+'_-_'+str(song['track'])+'_-_'+song['artist']+'_-_'+song['title']).replace(' ','_').capit
alize()+song['extension'] 
        ).replace('/','_').lower() 
    else : 
        song['filename_new'] = ( 
            (song['artist']+'_-_'+song['album']+'_-_'+song['track']+'_-_'+song['title']).replace(' ','_').capitalize
()+song['extension'] 
        ).replace('/','_').lower() 
 
    print song['filename_new'] 
 
y_n = raw_input('do you want to rename the files? (y/n)').lower().lstrip() 
 
if y_n == 'y' : 
    for song in song_list: 
        print 'mv "'+song['filename']+'" "'+song['filename_new']+'"' 
        os.rename(song['filename'], song['filename_new']) 
 
Don't email to hereI'm now supporting the experiment spamschlucker.org too :)