/proj/avocet/convert.cgi

#!/usr/bin/env python
# convert.cgi - Convert Avocet to HTML
# Author: Sean B. Palmer, inamidst.com

import cgi
import avocet

form = cgi.FieldStorage()
form.__call__ = lambda s: form[s].value
form.exists = form.has_key

def convert(text): 
   print 'Content-Type: text/html'
   print 

   f = __import__('cStringIO').StringIO()
   for line in text.splitlines(): 
      f.write(line + '\n')
   f.seek(0)
   avocet.parse_file(f)

def homepage(): 
   print 'Content-Type: text/html'
   print 
   print '<form method="post" action="convert">'
   print '<div><textarea name="text" rows="10" cols="79"></textarea></div>'
   print '<div><input type="submit" /></div>'
   print '</form>'

def main(): 
   import cgitb
   cgitb.enable()
   
   if form.exists('text'): 
      convert(form('text'))
   else: homepage()

if __name__ == '__main__': 
   main()