[ 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.