diff options
| author | Jason R. Coombs <jaraco@jaraco.com> | 2015-01-04 13:58:33 -0500 |
|---|---|---|
| committer | Jason R. Coombs <jaraco@jaraco.com> | 2015-01-04 13:58:33 -0500 |
| commit | 0529be8ca5487513336da8fd35108c52aa95e582 (patch) | |
| tree | 85c2b6804b2ff55d2e8e06fae7ff1046ccb74d15 /pkg_resources | |
| parent | a7ae16215eab4487954d546f583e30869696adfc (diff) | |
| download | python-setuptools-git-0529be8ca5487513336da8fd35108c52aa95e582.tar.gz | |
Only raise a ContextualVersionConflict when dependent requirements are present.
Diffstat (limited to 'pkg_resources')
| -rw-r--r-- | pkg_resources/__init__.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/pkg_resources/__init__.py b/pkg_resources/__init__.py index 522247e0..d51f301b 100644 --- a/pkg_resources/__init__.py +++ b/pkg_resources/__init__.py @@ -339,6 +339,16 @@ class VersionConflict(ResolutionError): def report(self): return self._template.format(**locals()) + def with_context(self, required_by): + """ + If required_by is non-empty, return a version of self that is a + ContextualVersionConflict. + """ + if not required_by: + return self + args = self.args + (required_by,) + return ContextualVersionConflict(*args) + class ContextualVersionConflict(VersionConflict): """ @@ -797,7 +807,7 @@ class WorkingSet(object): if dist not in req: # Oops, the "best" so far conflicts with a dependency dependent_req = required_by[req] - raise ContextualVersionConflict(dist, req, dependent_req) + raise VersionConflict(dist, req).with_context(dependent_req) # push the new requirements onto the stack new_requirements = dist.requires(req.extras)[::-1] |
