[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