|
Graham Dumpleton
grahamd at dscpl.com.au
Sun Aug 20 04:25:04 EDT 2006
On 20/08/2006, at 6:08 PM, Graham Dumpleton wrote:
> Have been busy and have added minimal set of functions to mod_python
> and exporting them for use in other modules. This code is now checked
> into subversion trunk for 3.3.
>
> As an example, here is how it could be used:
And here is a replacement example that fixes up some stupid mistakes
with cleaning up data.
optfn_mp_acquire_interpreter("main_interpreter");
request_obj = optfn_mp_get_request_object(r);
m = PyImport_ImportModule("mod_python.testhandler");
if (m) {
d = PyModule_GetDict(m);
o = PyDict_GetItemString(d, "handler");
if (o) {
PyObject *a = NULL;
PyObject *r = NULL;
a = Py_BuildValue("(O)", request_obj);
r = PyEval_CallObject(o, a);
Py_DECREF(a);
if (r == NULL)
result = HTTP_INTERNAL_SERVER_ERROR;
else if (!PyInt_Check(r))
result = HTTP_INTERNAL_SERVER_ERROR;
else
result = PyInt_AsLong(r);
Py_XDECREF(r);
}
else {
result = HTTP_INTERNAL_SERVER_ERROR;
}
}
else {
result = HTTP_INTERNAL_SERVER_ERROR;
}
Py_XDECREF(m);
Py_XDECREF(o);
Py_XDECREF(request_obj);
optfn_mp_release_interpreter();
return result;
I ended up replacing the attachment to the JIRA issue a couple of times,
so watch out for moving targets. :-)
Graham
|