Add support for extras_require in Pipfile for vcs urls

This commit is contained in:
Nicolas Delaby
2017-09-13 19:56:54 +02:00
parent 0e19343cd8
commit 9dc5eb8398
2 changed files with 11 additions and 1 deletions
+4 -1
View File
@@ -162,8 +162,11 @@ def convert_deps_from_pip(dep):
'dependencies. Please install remote dependency '
'in the form {0}#egg=<package-name>.'.format(req.uri))
# Extras: e.g. #egg=requests[security]
if req.extras:
dependency[req.name] = {'extras': req.extras}
# Crop off the git+, etc part.
dependency[req.name] = {req.vcs: req.uri[len(req.vcs) + 1:]}
dependency.setdefault(req.name, {}).update({req.vcs: req.uri[len(req.vcs) + 1:]})
# Add --editable, if it's there.
if req.editable:
+7
View File
@@ -103,6 +103,13 @@ class TestUtils:
dep = pipenv.utils.convert_deps_from_pip(dep)
assert dep == {'MyProject': {'hg': 'http://hg.myproject.org/MyProject', 'ref': 'da39a3ee5e6b'}}
# vcs dependency with extras_require
dep = 'git+https://github.com/requests/requests.git@master#egg=requests[security]'
dep = pipenv.utils.convert_deps_from_pip(dep)
assert dep == {'requests': {'git': 'https://github.com/requests/requests.git',
'ref': 'master',
'extras': ['security']}}
# vcs dependency without #egg
dep = 'git+https://github.com/kennethreitz/requests.git'
with pytest.raises(ValueError) as e: