From 04abf2cc8dfda2a969cd2c1257d5d5a41979a0d2 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 17 Jan 2011 00:25:42 +0100 Subject: [PATCH] web_server: Avoid references to swat. Load samba.web_server instead. --- .../swat => scripting/python/samba/web_server}/__init__.py | 6 +++--- source4/web_server/wsgi.c | 13 ++++++++----- 2 files changed, 11 insertions(+), 8 deletions(-) rename source4/{web_server/swat => scripting/python/samba/web_server}/__init__.py (98%) diff --git a/source4/web_server/swat/__init__.py b/source4/scripting/python/samba/web_server/__init__.py similarity index 98% rename from source4/web_server/swat/__init__.py rename to source4/scripting/python/samba/web_server/__init__.py index ea28e9422af..b5ac69c96a2 100644 --- a/source4/web_server/swat/__init__.py +++ b/source4/scripting/python/samba/web_server/__init__.py @@ -5,17 +5,17 @@ # Copyright © Jelmer Vernooij 2008 # # Implementation of SWAT that uses WSGI -# +# # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. -# +# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with this program. If not, see . # diff --git a/source4/web_server/wsgi.c b/source4/web_server/wsgi.c index 1c105d0337e..2f47af2d257 100644 --- a/source4/web_server/wsgi.c +++ b/source4/web_server/wsgi.c @@ -26,6 +26,7 @@ #include "../lib/util/dlinklist.h" #include "lib/tls/tls.h" #include "lib/tsocket/tsocket.h" +#include "scripting/python/modules.h" /* There's no Py_ssize_t in 2.4, apparently */ #if PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION < 5 @@ -380,10 +381,12 @@ static void wsgi_process_http_input(struct web_server_data *wdata, bool wsgi_initialize(struct web_server_data *wdata) { - PyObject *py_swat; + PyObject *py_web_server; Py_Initialize(); + py_update_path("bin"); /* FIXME: Can't assume this is always the case */ + if (PyType_Ready(&web_request_Type) < 0) return false; @@ -394,11 +397,11 @@ bool wsgi_initialize(struct web_server_data *wdata) return false; wdata->http_process_input = wsgi_process_http_input; - py_swat = PyImport_Import(PyString_FromString("swat")); - if (py_swat == NULL) { - DEBUG(0, ("Unable to find SWAT\n")); + py_web_server = PyImport_ImportModule("samba.web_server"); + if (py_web_server == NULL) { + DEBUG(0, ("Unable to find web server\n")); return false; } - wdata->private_data = py_swat; + wdata->private_data = py_web_server; return true; } -- 2.11.4.GIT