[Python-checkins] python/dist/src/Tools/freeze modulefinder.py,1.22,1.23
theller@users.sourceforge.net
theller@users.sourceforge.net
Thu, 14 Nov 2002 10:45:13 -0800
Update of /cvsroot/python/python/dist/src/Tools/freeze
In directory usw-pr-cvs1:/tmp/cvs-serv31800
Modified Files:
modulefinder.py
Log Message:
Enhancement for ModuleFinder, it can now handle _xmlplus aka PyXML.
Fixes SF # 637835.
Index: modulefinder.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Tools/freeze/modulefinder.py,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** modulefinder.py 12 Nov 2002 23:21:15 -0000 1.22
--- modulefinder.py 14 Nov 2002 18:45:11 -0000 1.23
***************
*** 30,33 ****
--- 30,44 ----
packagePathMap[packagename] = paths
+ replacePackageMap = {}
+
+ # This ReplacePackage mechanism allows modulefinder to work around the
+ # way the _xmlplus package injects itself under the name "xml" into
+ # sys.modules at runtime by calling ReplacePackage("_xmlplus", "xml")
+ # before running ModuleFinder.
+
+ def ReplacePackage(oldname, newname):
+ replacePackageMap[oldname] = newname
+
+
class Module:
***************
*** 337,340 ****
--- 348,354 ----
def load_package(self, fqname, pathname):
self.msgin(2, "load_package", fqname, pathname)
+ newname = replacePackageMap.get(fqname)
+ if newname:
+ fqname = newname
m = self.add_module(fqname)
m.__file__ = pathname