[
https://issues.apache.org/jira/browse/MODPYTHON-220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Graham Dumpleton updated MODPYTHON-220:
---------------------------------------
Attachment: MP220-20070622-1-grahamd.diff
Attached patch MP220-20070622-1-grahamd.diff which fixes this problem.
> 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
> Attachments: MP220-20070622-1-grahamd.diff
>
>
> When Python code appears in SSI files, a trick is performed such that the
> Python 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 code 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
> the 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()
> for PSP pages also as first step.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.