From 48a91dd9f3bce22911839aa678ebe9a6bafab5fc Mon Sep 17 00:00:00 2001 From: Fredrik Tolf Date: Sat, 23 Oct 2010 08:38:53 +0200 Subject: [PATCH] python: Added support to ashd.wsgidir for adding additional handlers. --- python/ashd/wsgidir.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/python/ashd/wsgidir.py b/python/ashd/wsgidir.py index e5dee72..5ce7638 100644 --- a/python/ashd/wsgidir.py +++ b/python/ashd/wsgidir.py @@ -65,6 +65,13 @@ def chain(path, env, startreq): return wsgiutil.simpleerror(env, startreq, 500, "Internal Error", "Invalid WSGI handler.") exts["wsgi"] = chain +def addext(ext, handler): + p = handler.rindex('.') + mname = handler[:p] + hname = handler[p + 1:] + mod = __import__(mname, fromlist = ["dummy"]) + exts[ext] = getattr(mod, hname) + def application(env, startreq): if not "SCRIPT_FILENAME" in env: return wsgiutil.simpleerror(env, startreq, 500, "Internal Error", "The server is erroneously configured.") @@ -79,4 +86,8 @@ def application(env, startreq): return(exts[ext](path, env, startreq)) def wmain(*argv): + for arg in argv: + if arg[0] == '.': + p = arg.index('=') + addext(arg[1:p], arg[p + 1:]) return application -- 2.11.0