Apache Mod-Python - Commented: (MODPYTHON-143) Implement and integrate a new

This is Interesting: Free IT Magazines  
Home > Archive > Apache Mod-Python > August 2006 > Commented: (MODPYTHON-143) Implement and integrate a new





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Commented: (MODPYTHON-143) Implement and integrate a new
Graham Dumpleton (JIRA)

2006-08-13, 7:12 am

[ http://issues.apache.org/jira/brows...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 implementatio
n 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 a
nd 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/...une/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 y

et been decided.
> More details and announcements at the appropriate time.


Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com