#!/usr/bin/python2.3 # With thanks to that wonderful regex to The-Fixer import cgi import cgitb; cgitb.enable() import os import re from htmltmpl import TemplateManager, TemplateProcessor def main(): form = cgi.FieldStorage() fortune = Fortune(form) fortune.ui() class Fortune: def __init__(self, form): self.count = form.getvalue("count", "0") self.count = float(self.count) self.templatesize = 860 pass def ui(self): print "Content-Type: text/html" #print "Content-Type: application/xhtml+xml" print template = TemplateManager().prepare("basic.tmpl") tproc = TemplateProcessor() i, stdout, stderr = os.popen3("/usr/games/fortune -s -c") i.close() fortune = stdout.read() self.count += float(len(fortune) + self.templatesize) / 1024 cat, txt = re.compile('\s*\(([^)]+)\)[%\s]+(.+)',re.DOTALL).match(fortune).groups() tproc.set("title", cat) tproc.set("fortune", txt) tproc.set("count", "%.2f" % self.count) print tproc.process(template) if __name__ == "__main__": main()