diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2017-07-13 21:27:43 -0400 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2017-07-13 21:27:43 -0400 |
commit | 3cf29ecb38271ae0512273d561adebd03df023b9 (patch) | |
tree | 1eed33514bf35c55927bdc6e9a0bd9ddc0506590 /setuptools/dist.py | |
parent | 295dbf3043da95165683991d71c187c875daa600 (diff) | |
download | external_python_setuptools-3cf29ecb38271ae0512273d561adebd03df023b9.tar.gz external_python_setuptools-3cf29ecb38271ae0512273d561adebd03df023b9.tar.bz2 external_python_setuptools-3cf29ecb38271ae0512273d561adebd03df023b9.zip |
Extract _check_extra function
Diffstat (limited to 'setuptools/dist.py')
-rw-r--r-- | setuptools/dist.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/setuptools/dist.py b/setuptools/dist.py index cb887ea6..c7f6d371 100644 --- a/setuptools/dist.py +++ b/setuptools/dist.py @@ -8,6 +8,7 @@ import distutils.log import distutils.core import distutils.cmd import distutils.dist +import itertools from collections import defaultdict from distutils.errors import (DistutilsOptionError, DistutilsPlatformError, DistutilsSetupError) @@ -130,7 +131,16 @@ def check_nsp(dist, attr, value): def check_extras(dist, attr, value): """Verify that extras_require mapping is valid""" try: - for k, v in value.items(): + list(itertools.starmap(_check_extra, value.items())) + except (TypeError, ValueError, AttributeError): + raise DistutilsSetupError( + "'extras_require' must be a dictionary whose values are " + "strings or lists of strings containing valid project/version " + "requirement specifiers." + ) + + +def _check_extra(k, v): if ':' in k: k, m = k.split(':', 1) if pkg_resources.invalid_marker(m): @@ -142,12 +152,6 @@ def check_extras(dist, attr, value): "environment markers, in {section!r}: '{req!s}'" ) raise DistutilsSetupError(tmpl.format(section=k, req=r)) - except (TypeError, ValueError, AttributeError): - raise DistutilsSetupError( - "'extras_require' must be a dictionary whose values are " - "strings or lists of strings containing valid project/version " - "requirement specifiers." - ) def assert_bool(dist, attr, value): |