#!/usr/bin/python import os, os.path, sys import HTMLParser class Done(Exception): pass class MyHTMLParser(HTMLParser.HTMLParser): id = None in_title = 0 title = None def handle_starttag(self, tag, attrs): if tag == 'html': for name, value in attrs: if name =='id': self.id = value elif tag == 'title': self.in_title = 1 self.title = '' def handle_endtag(self, tag): if tag == 'title': self.in_title - 0 elif tag == 'head': raise Done def handle_data(self, data): if self.in_title: self.title += data ext = '.pyhtml' index = 'index' + ext def walkfile(path, indent = 1, close = 0): source = os.path.normpath(path) href = source[:-len(ext)] + '.html' parser = MyHTMLParser() try: parser.feed(open(path, "rt").read()) except Done: pass except: sys.stderr.write("error parsing %s\n" % path) raise else: raise Exception, "failed to parse %s" % path id = parser.id title = parser.title.strip() if close: sys.stdout.write('>\n') sys.stdout.write('\t'*indent + '\n') close = 0 if close: sys.stdout.write('/>\n') else: sys.stdout.write('\t'*indent + '\n') return 1 else: return 0 def main(): sys.stdout.write('\n') sys.stdout.write('\n') else: sys.stdout.write('/>\n') if __name__ == '__main__': main()