#!/usr/bin/python2.5
# :set filetype=py encoding=utf8
"""
CGI implementation
"""
# CGI handler for WSGI
import wsgiref.handlers
def cgi_error () :
"""
Dumps out a raw traceback of the current exception to stdout, intended for use from except
"""
import traceback, sys
print 'Status: 500 Internal Server Error\r'
print 'Content-type: text/plain\r'
print '\r'
traceback.print_exc(100, sys.stdout)
def cgi_main () :
"""
Run in CGI mode
"""
try :
from qmsk.web import wsgi, template
import lookup
# create handler
cgi_handler = wsgiref.handlers.CGIHandler()
# create app handler
handler = lookup.PageMapper("pages", templates=template.TemplateLoader("templates"))
# create app
app = wsgi.Application(handler)
# run once
cgi_handler.run(app)
except :
cgi_error()
if __name__ == '__main__' :
cgi_main()