terom@6: #!/usr/bin/python2.5 terom@7: # :set filetype=py encoding=utf8 terom@6: terom@7: """ terom@7: CGI implementation terom@7: """ terom@6: terom@7: # CGI handler for WSGI terom@7: import wsgiref.handlers terom@7: terom@16: def cgi_error () : terom@16: """ terom@16: Dumps out a raw traceback of the current exception to stdout, intended for use from except terom@16: """ terom@16: terom@16: import traceback, sys terom@16: terom@16: print 'Status: 500 Internal Server Error\r' terom@16: print 'Content-type: text/plain\r' terom@16: print '\r' terom@16: terom@16: traceback.print_exc(100, sys.stdout) terom@7: terom@7: def cgi_main () : terom@7: """ terom@7: Run in CGI mode terom@7: """ terom@11: terom@11: try : terom@16: from lib import page_tree terom@11: terom@11: # load page list terom@16: page_tree.load() terom@16: terom@16: # our WSGI app terom@16: from lib import wsgi terom@16: terom@16: # create handler terom@16: cgi_handler = wsgiref.handlers.CGIHandler() terom@16: terom@16: # run once terom@16: cgi_handler.run(wsgi.app) terom@11: terom@11: except : terom@16: cgi_error() terom@7: terom@7: if __name__ == '__main__' : terom@7: cgi_main()