All pastes #2027245 Raw Edit

Mine

public python v1 · immutable
#2027245 ·published 2010-12-23 14:27 UTC
rendered paste body
#!/usr/bin/python2import osimport mutagen.oggvorbisimport mutagen.mp3import mimetypesg_html_header="""<html><meta http-equiv="Content-Type" content="text/html; charset=utf8"><body><a href=..>Up</a><br />"""g_html_footer="""</body></html>"""g_html_title="""%s <a href=%s>[File link]</a><br />"""g_html_item="""<audio src="%s" controls="controls" preload="metadata">Your browser does not support the audio element.</audio><br />"""g_root_html_header="""<html><meta http-equiv="Content-Type" content="text/html; charset=utf8"><title>Ahlamon Rehearsal</title><body><h1>Ahlamon Rehearsal</h1>"""g_root_html_footer="""</body></html>"""g_root_html_item="""<a href=%s>%s</a><br />"""g_index_name="index.html"g_root="/home/goth/rehearsal.ahlamon.org"def getTitle(track):        mtype = mimetypes.guess_type(track)        if mtype[0] == "audio/ogg":                metadata = mutagen.oggvorbis.Open(track)		try:                	artist = metadata['artist'][0].encode('utf_8')		except:			artist = "Unknown Artist"		try:                	title = metadata['title'][0].encode('utf_8')		except:			title = "Unknown Title"                return "%s - %s" % (artist, title)	elif mtype[0] == "audio/mpeg":                metadata = mutagen.mp3.Open(track)		try:                	artist = metadata['TPE1'][0].encode('utf_8')		except:			artist = "Unknown Artist"		try:                	title = metadata['TIT2'][0].encode('utf_8')		except:			title = "Unknown Title"        	return "%s - %s" % (artist, title)	else:                print "%s - unknown mimetype, cannot process"		return Nonedef generateRehearsalIndex(rehearsal):        items = os.listdir(rehearsal)	items.sort()        os.chdir(rehearsal)	index = open(g_index_name, 'w')	index.write(g_html_header)	for i in items:                title = getTitle(i)		if title == None:			continue                index.write(g_html_title % (title, i))		index.write(g_html_item % i)	index.write(g_html_footer)	index.close()        os.chdir(os.pardir)	return Nonedef generateRootIndex(rootDir):        items = os.listdir(rootDir)	items.sort()        subDirs = []	index = open(g_index_name, 'w')	index.write(g_root_html_header)        for i in items:                if os.path.isdir(i):                        subDirs.append(i)        for i in subDirs:                print "Subdirectory: %s" % i		index.write(g_root_html_item % (i, i))                generateRehearsalIndex(i)	index.write(g_root_html_footer)	index.close()	return Nonedef main():	print "Hello!"	generateRootIndex(g_root)if __name__ == "__main__":	main()