[ 
http://issues.apache.org/jira/browse/MODPYTHON-143?page=comments#action_12427741
 ] 
            
Graham Dumpleton commented on MODPYTHON-143:
--------------------------------------------

An issue which still needs to be looked at with new module importer is that for 
historical reasons, the __name__ attribute put in modules is concocted from an 
md5 hash of the full pathname of the module file. The reasons for this is that 
the implementation that the importer was based on attempted to still store 
modules in sys.modules and in doing so the module name couldn't contain various 
characters that can appear in pathnames, eg, slash, colon etc. This way of 
setting up the module name has persisted and not been changed.

Problem is that it seems that use of certain third party packages can well and 
truly stuff up md5 generation in Python. See:

  http://www.modpython.org/pipermail/mod_python/2006-June/021482.html

and all the followup posts.

This may not be a big issue in as much as you probably do not want to try and 
be resilient to such a problem, as for md5 hashes it would be very important 
for any underlying problem to be fixed.

Now the __name__ attribute in modules could possibly be replaced with the name 
of the file, ie., the same as __file__, but could there be other code out there 
which makes assumptions about what sort of characters appear in the __name__ 
attribute and rely on that somehow.

> Implement and integrate a new module importer.
> ----------------------------------------------
>
>                 Key: MODPYTHON-143
>                 URL: http://issues.apache.org/jira/browse/MODPYTHON-143
>             Project: mod_python
>          Issue Type: Task
>          Components: importer
>    Affects Versions: 3.2.8
>            Reporter: Graham Dumpleton
>         Assigned To: Graham Dumpleton
>
> This is an overall task to cover the issue of rectifying the various module 
> importer issues by replacing it with a new implementation. A description of 
> the various problems can be found in:
>   http://www.dscpl.com.au/articles/modpython-003.html
> Separate issues had already been created for some of the specific problems. 
> These issues will now be linked to this problem and thus marked as being 
> dependent on this issue.
> In other words, replacing the module importer will solve a number of number 
> issues. Rather than try and keep up to date all the separate issues, all 
> information about the replacement will be put against this issue instead.
> Note that there are also some issues which are not directly related to the 
> module importer but which will be made dependent on this issue because it is 
> easier to fix the issue as part of the rewrite of the module importer and top 
> level handler dispatch mechanism than it is to address it as a distinct item.
> In respect of what impacts the new module importer implementation may have 
> and how it is used may change, this will be documented in the following 
> document for the time being:
>   http://www.dscpl.com.au/articles/modpython-007.html
> Note that this document is a work in progress. It is dense reading and 
> assumes you know a bit about the current module importer and its problems. 
> Any significant issues raised by this document can be added here as a 
> comment, or if a general dicussion of a topic is needed, raise the issue on 
> the mod_python developers mailing list.
> A possible new implementation for the module importer is basically ready for 
> testing and experimentation. The intent is to push it into the mod_python 
> source tree, but for its use to be optional. 
> If wanting to enable it for a specific Python interpreter, the PythonImport 
> directive would be used:
>   PythonImport mod_python.future.importer mytestinterpreter
> If wanting to enable it for all Python interpreters, a PythonOption directive 
> would be used at global scope within the Apache configuration. Ie., outside 
> of all Location, Directory or Files container directives. The exact option 
> name to be used hasn't yet been decided.
> More details and announcements at the appropriate time.

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

        

Reply via email to