Add a way to import a published page into another published page ----------------------------------------------------------------
Key: MODPYTHON-54 URL: http://issues.apache.org/jira/browse/MODPYTHON-54 Project: mod_python Type: Improvement Versions: 3.2.0 Reporter: Nicolas Lehuen Assigned to: Nicolas Lehuen Fix For: 3.2.0 Before mod_python 3.2, standard Python modules and published modules could be imported the same way, using apache.import_module. This had a number of disadvantages, leading to MODPYTHON-8, MODPYTHON-9, MODPYTHON-10, MODPYTHON-11 and MODPYTHON-12. All these bugs were fixed by separating the published modules from the standard Python module. apache.import_module can still be used to import standard modules, but published modules are now fully managed by mod_python.publisher, and are not inserted into sys.modules. The problem is that there is a use case of importing a published module from another published module : /index.py---------------- def index(req): return "Hello, world !" def utility_function(foobar): return foobar+1 /other.py---------------- import os directory = os.path.split(__file__)[0] other_index = apache.import_module("index",path=[directory]) def index(req): return "%s %i"%(other_index.index(req),other_index.utility_function(2004)) This was alread a bit of a hack in 3.1.4, but in 3.2 it does not really work the expected way since the imported module (other_index in the example) is not the same module as the one the publisher would use to publish /index.py. This could be troublesome if the developer wanted to share some data between the modules, e.g. a cache or a connection pool, but not if he only wanted to share some code. Therefore, we need to provide a clean API in mod_python.publisher to allow developers to reference another published module. -- 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