summaryrefslogtreecommitdiff
path: root/setuptools/command/install_lib.py
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2014-09-26 10:56:24 -0400
committerJason R. Coombs <jaraco@jaraco.com>2014-09-26 10:56:24 -0400
commit86f35df37c309d2192a95259e77c6b4ba7f73876 (patch)
tree5bdfc3e0b26fe650c7fb8264ecb19fdd6a3f223f /setuptools/command/install_lib.py
parentb925f19a4ef1b214650b770c74a083fc4f982758 (diff)
downloadpython-setuptools-git-86f35df37c309d2192a95259e77c6b4ba7f73876.tar.gz
Return the exclusions directly
Diffstat (limited to 'setuptools/command/install_lib.py')
-rw-r--r--setuptools/command/install_lib.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/setuptools/command/install_lib.py b/setuptools/command/install_lib.py
index f36d8651..dcd85dec 100644
--- a/setuptools/command/install_lib.py
+++ b/setuptools/command/install_lib.py
@@ -1,6 +1,6 @@
import os
import imp
-from itertools import product
+from itertools import product, starmap
import distutils.command.install_lib as orig
class install_lib(orig.install_lib):
@@ -18,9 +18,11 @@ class install_lib(orig.install_lib):
Return a collections.Sized collections.Container of paths to be
excluded for single_version_externally_managed installations.
"""
- exclude = set()
-
def _exclude(pkg, exclusion_path):
+ """
+ Given a package name and exclusion path within that package,
+ compute the full exclusion path.
+ """
parts = pkg.split('.') + [exclusion_path]
return os.path.join(self.install_dir, *parts)
@@ -29,9 +31,9 @@ class install_lib(orig.install_lib):
for ns_pkg in self._get_SVEM_NSPs()
for pkg in self._all_packages(ns_pkg)
)
- for pkg, f in product(all_packages, self._gen_exclude_names()):
- exclude.add(_exclude(pkg, f))
- return exclude
+
+ excl_specs = product(all_packages, self._gen_exclude_names())
+ return set(starmap(_exclude, excl_specs))
@staticmethod
def _all_packages(pkg_name):