05-11-07 06:12 AM
In PSP pages, 'import' doesn't map through to apache.import_module().
---------------------------------------------------------------------
Key: MODPYTHON-220
URL: https://issues.apache.org/jira/browse/MODPYTHON-220
Project: mod_python
Issue Type: Improvement
Components: psp
Affects Versions: 3.3.1
Reporter: Graham Dumpleton
When Python code appears in SSI files, a trick is performed such that the Py
thon code in the SSI files is seen as having been originally imported using
the new module importer. This means that if 'import' is used with the Python
code, it will map through
to apache.import_module() and first use that mechanism to try and import cod
e modules. This trick is not performed for PSP pages however.
What needs to be done for PSP pages is the equivalent of the SSI trick:
class _InstanceInfo:
def __init__(self, label, file, cache):
self.label = label
self.file = file
self.cache = cache
self.children = {}
filter.req.ssi_globals["__file__"] = filter.req.filename
filter.req.ssi_globals["__mp_info__"] = _InstanceInfo(
None, filter.req.filename, None)
filter.req.ssi_globals["__mp_path__"] = []
What this is doing is setting up in the environment of the SSI code object t
he magic variables that 'import' hook looks for to allow it to map to apache
.import_module().
If same done in PSP pages then 'import' will map to apache.import_module() f
or PSP pages also as first step.
[ Post a follow-up to this message ]
|