Module imports from server side includes and new importer.
----------------------------------------------------------
Key: MODPYTHON-156
URL: http://issues.apache.org/jira/browse/MODPYTHON-156
Project: mod_python
Type: Sub-task
Components: importer
Reporter: Graham Dumpleton
Assigned to: Graham Dumpleton
With old module importer, where Python*Handler directives are used in a
directory context, that directory is added to sys.path. Now where Python code
is being used with server side includes in that same directory and code of form:
module = apache.import_module("xxx")
is used with "xxx.py" also being in the same directory, it will be found due to
the directory being added to sys.path.
With the new module importer, the directory isn't added to sys.path and so the
module would not be found.
In the case of a handler module (rather than SSI Python code), such a module
import would still work, as the new module importer is smart enough to realise
that the caller was also imported using the new module importer and thus would
look in the same directory first or as necessary, in the directory the
Python*Handler directive was specified for. This will not work for SSI code
though, as it is not part of an imported module and is eval/exec'd on each page
request.
What is thus required is for the global environment in which the SSI code is
executed for a specific page, to be automatically marked up in such a way that
the new module importer believes it was imported as a module by the new module
importer, thus triggering it to look in the same directory for modules.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira