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@46: from qmsk.web import wsgi terom@46: import urls terom@16: terom@16: # create handler terom@16: cgi_handler = wsgiref.handlers.CGIHandler() terom@31: terom@31: # create app terom@46: app = wsgi.Application(urls.mapper) terom@16: terom@16: # run once terom@31: cgi_handler.run(app) terom@11: terom@11: except : terom@16: cgi_error() terom@7: terom@7: if __name__ == '__main__' : terom@7: cgi_main()