diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2014-09-26 10:56:24 -0400 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2014-09-26 10:56:24 -0400 |
commit | 86f35df37c309d2192a95259e77c6b4ba7f73876 (patch) | |
tree | 5bdfc3e0b26fe650c7fb8264ecb19fdd6a3f223f /setuptools/command/install_lib.py | |
parent | b925f19a4ef1b214650b770c74a083fc4f982758 (diff) | |
download | python-setuptools-git-86f35df37c309d2192a95259e77c6b4ba7f73876.tar.gz |
Return the exclusions directly
Diffstat (limited to 'setuptools/command/install_lib.py')
-rw-r--r-- | setuptools/command/install_lib.py | 14 |
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): |