#!/usr/bin/python import re, os, os.path, cgi, popen2; env, ex = os.getenv, os.path.exists def load(n): return (ex('w/'+n) and open('w/'+n).read()) or '' def fs(s): return reduce(lambda s, r: re.sub('(?m)'+r[0], r[1], s), (('\r',''), ('(^|[^A-Za-z0-9?])(([A-Z][a-z]+){2,})', lambda m: (m.group(1) + '%s%s') % ((m.group(2),'p=','&q=e','?'), ('','','',m.group(2)))[ex('w/'+m.group(2))]), ('^\{\{$','\n
'), ('(ht|f)tp:[^<>"\s]+','\g<0>')), cgi.escape(s)) def do(m, n): return {'get':'
%s' % (n, n, n, fs(load(n)) or n), 'edit': '
' % (n, fs(n), n, load(n) or "Describe %s" % n), 'find': ('