From aa62df8715ce930e473733ab0de0bc10ef6446d6 Mon Sep 17 00:00:00 2001 From: sean finey Date: Wed, 11 Feb 2009 23:14:07 +0100 Subject: mod_python -> wsgi i hear it's the new black. code change requirements weren't very big at all, and apparently this will work better/stabler on lenny systems, so... --- pagehandler.py | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'pagehandler.py') diff --git a/pagehandler.py b/pagehandler.py index 477f540..f9a293d 100755 --- a/pagehandler.py +++ b/pagehandler.py @@ -1,15 +1,14 @@ #!/usr/bin/python # -*- coding: utf-8 -*- -# main (mod_python) request handler for patch-tracking system +# main (wsgi) request handler for patch-tracking system # this handler file basically farms out all its work to the ReqHandler # module, which in turn splits up the request URI and acts accordingly. -from mod_python import apache import os import sys -def handler(req): +def application(env, resp): # the apache config sets a hint of where we are installed, which is # needed in mod_python since cwd is not automatically set try: @@ -19,7 +18,21 @@ def handler(req): pass import patchtracker.ReqHandler as ReqHandler - ReqHandler.Client.req = req + try: + cmdh = ReqHandler.CmdHandler(env) + resp(cmdh.status, cmdh.headers) + return cmdh.output() + except ReqHandler.ReqHandlerException, e: + resp(e.status, [('Content-Type', 'text/html')]) + return ReqHandler.ErrorCmd(str(e), e.status).output() - req.write(ReqHandler.CmdHandler(req).output()) - return apache.OK +if __name__ == '__main__': + from wsgiref import simple_server as ss + print "pagehandler test server running..." + server = ss.WSGIServer( ('',8080), ss.WSGIRequestHandler) + server.set_app(application) + while True: + try: + server.handle_request() + except IOError, e: + print "adsf: ",e -- cgit v1.2.3