[Python-checkins] r53268 - sandbox/trunk/setuptools/setuptools/command/install_egg_info.py

phillip.eby python-checkins at python.org
Fri Jan 5 19:15:32 CET 2007


Author: phillip.eby
Date: Fri Jan  5 19:15:31 2007
New Revision: 53268

Modified:
   sandbox/trunk/setuptools/setuptools/command/install_egg_info.py
Log:
Fix not generating correct .pth for parent namespace packages when 
installing --single-version-externally-managed.


Modified: sandbox/trunk/setuptools/setuptools/command/install_egg_info.py
==============================================================================
--- sandbox/trunk/setuptools/setuptools/command/install_egg_info.py	(original)
+++ sandbox/trunk/setuptools/setuptools/command/install_egg_info.py	Fri Jan  5 19:15:31 2007
@@ -57,9 +57,8 @@
         unpack_archive(self.source, self.target, skimmer)
 
     def install_namespaces(self):
-        nsp = (self.distribution.namespace_packages or [])[:]
+        nsp = self._get_all_ns_packages()
         if not nsp: return
-        nsp.sort()  # set up shorter names first
         filename,ext = os.path.splitext(self.target)
         filename += '-nspkg.pth'; self.outputs.append(filename)
         log.info("Installing %s",filename)
@@ -79,3 +78,46 @@
                     % locals()
                 )
             f.close()
+
+
+    def _get_all_ns_packages(self):
+        nsp = {}
+        for pkg in self.distribution.namespace_packages or []:
+            pkg = pkg.split('.')
+            while pkg:
+                nsp['.'.join(pkg)] = 1
+                pkg.pop()
+        nsp=list(nsp)
+        nsp.sort()  # set up shorter names first
+        return nsp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+


More information about the Python-checkins mailing list