#!/usr/bin/python2 import os import mutagen.oggvorbis import mutagen.mp3 import mimetypes g_html_header=""" Up
""" g_html_footer=""" """ g_html_title="""%s [File link]
""" g_html_item="""
""" g_root_html_header=""" Ahlamon Rehearsal

Ahlamon Rehearsal

""" g_root_html_footer=""" """ g_root_html_item=""" %s
""" 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 None def 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 None def 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 None def main(): print "Hello!" generateRootIndex(g_root) if __name__ == "__main__": main()