# Copyright (c) 2004-5 Marek Hnilica. All rights reserved. # Module for reading tag informations in whole directory # Distributed under GPL version 2, or (at your option) later import glob,os,os.path,string,oggiface,ogg.vorbis def ReadTag(directory): os.chdir(directory) FileList=glob.glob('*.[Oo][Gg][Gg]') FileList.sort() TagList=[] ErrorList=[] if not FileList==[]: for filename in FileList: try: VorbTag=oggiface.GetTag(filename) except: ErrorList.append(filename) continue if VorbTag.has_key('ALBUM'): Album=VorbTag['ALBUM'] else: Album='' if VorbTag.has_key('COMMENT'): Comm=VorbTag['COMMENT'] else: Comm='' if VorbTag.has_key('ARTIST'): Artist=VorbTag['ARTIST'] else: Artist='' if VorbTag.has_key('TITLE'): Title=VorbTag['TITLE'] else: Title='' if VorbTag.has_key('DATE'): Year=VorbTag['DATE'] else: Year='' if VorbTag.has_key('TRACKNUMBER'): Track=VorbTag['TRACKNUMBER'] else: Track='' if VorbTag.has_key('GENRE'): Genre=VorbTag['GENRE'] else: Genre='' VorbTag=ogg.vorbis.VorbisFile(filename) Bitrate=int(VorbTag.bitrate(0)/1000) Secs=int(VorbTag.time_total(0)) TagList.append((os.path.abspath(filename),Title,Artist,Album,Genre,Track,Year,Bitrate,Secs,Comm,'',os.path.abspath(filename))) return TagList,ErrorList