quetz-mod_python-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Graham Dumpleton (JIRA)" <j...@apache.org>
Subject [jira] Updated: (MODPYTHON-54) Add a way to import a published page into another published page
Date Sat, 01 Apr 2006 05:20:27 GMT
     [ http://issues.apache.org/jira/browse/MODPYTHON-54?page=all ]

Graham Dumpleton updated MODPYTHON-54:
--------------------------------------

    Assign To: Graham Dumpleton  (was: Nicolas Lehuen)

> 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
>   Components: importer
>     Versions: 3.2.7
>     Reporter: Nicolas Lehuen
>     Assignee: Graham Dumpleton
>      Fix For: 3.3

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


Mime
View raw message