diff options
| author | Jason R. Coombs <jaraco@jaraco.com> | 2017-07-23 14:10:33 -0400 |
|---|---|---|
| committer | Jason R. Coombs <jaraco@jaraco.com> | 2017-07-23 14:41:37 -0400 |
| commit | 171fc767992f55f10186b6ded6ea2875328d0827 (patch) | |
| tree | 12715ce1b660319639c5b28487f5cdb1b5bd1680 /setuptools/dist.py | |
| parent | 3e6409381946eba193533c9a9a968af9be1231f2 (diff) | |
| download | python-setuptools-git-171fc767992f55f10186b6ded6ea2875328d0827.tar.gz | |
Extract two methods (still interdependent) for fixing requires
Diffstat (limited to 'setuptools/dist.py')
| -rw-r--r-- | setuptools/dist.py | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/setuptools/dist.py b/setuptools/dist.py index 2b720b53..ad50a8ef 100644 --- a/setuptools/dist.py +++ b/setuptools/dist.py @@ -356,21 +356,31 @@ class Distribution(Distribution_parse_config_files, _Distribution): def _finalize_requires(self): """ Fix environment markers in `install_requires` and `extras_require`. + """ + self._convert_extras_requirements() + self._move_install_requirements_markers() - - move requirements in `install_requires` that are using environment - markers or extras to `extras_require`. - - convert requirements in `extras_require` of the form - `"extra": ["barbazquux; {marker}"]` to - `"extra:{marker}": ["barbazquux"]`. + def _convert_extras_requirements(self): + """ + Convert requirements in `extras_require` of the form + `"extra": ["barbazquux; {marker}"]` to + `"extra:{marker}": ["barbazquux"]`. """ - extras_require = defaultdict(list) spec_ext_reqs = getattr(self, 'extras_require', None) or {} + self._tmp_extras_require = defaultdict(list) for k, v in spec_ext_reqs.items(): for r in pkg_resources.parse_requirements(v): if r.marker: k += ':' + str(r.marker) r.marker = None - extras_require[k].append(r) + self._tmp_extras_require[k].append(r) + + def _move_install_requirements_markers(self): + """ + Move requirements in `install_requires` that are using environment + markers or extras to `extras_require`. + """ + install_requires = [] spec_inst_reqs = getattr(self, 'install_requires', None) or () for r in pkg_resources.parse_requirements(spec_inst_reqs): @@ -385,10 +395,10 @@ class Distribution(Distribution_parse_config_files, _Distribution): section = e if marker: section += ':' + str(marker) - extras_require[section].append(r) + self._tmp_extras_require[section].append(r) self.extras_require = dict( (k, [str(r) for r in v]) - for k, v in extras_require.items() + for k, v in self._tmp_extras_require.items() ) self.install_requires = [str(r) for r in install_requires] |
