From 51951d5ed04a9f90d2d4fee20adaae9a1512e7c7 Mon Sep 17 00:00:00 2001 From: vilhalmer Date: Mon, 30 Jan 2017 18:50:53 -0500 Subject: [PATCH 1/2] Support all version control systems that pip does --- pipenv/utils.py | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/pipenv/utils.py b/pipenv/utils.py index bfa8aed2..4a9f9585 100644 --- a/pipenv/utils.py +++ b/pipenv/utils.py @@ -83,23 +83,26 @@ def convert_deps_to_pip(deps, r=True): if 'version' in deps[dep]: version = deps[dep]['version'] - # Support for git. - # TODO: support SVN and others. - if 'git' in deps[dep]: - extra = 'git+{0}'.format(deps[dep]['git']) + # Support for version control + maybe_vcs = [vcs for vcs in ('git', 'svn', 'hg', 'bzr') if vcs in deps[dep]] + vcs = maybe_vcs[0] if maybe_vcs else None - # Support for @refs. - if 'ref' in deps[dep]: - extra += '@{0}'.format(deps[dep]['ref']) + if vcs: + extra = '{0}+{1}'.format(vcs, deps[dep][vcs]) - extra += '#egg={0}'.format(dep) + if extra: + # Support for @refs. + if 'ref' in deps[dep]: + extra += '@{0}'.format(deps[dep]['ref']) - # Support for editable. - if 'editable' in deps[dep]: - # Support for --egg. - dep = '-e ' - else: - dep = '' + extra += '#egg={0}'.format(dep) + + # Support for editable. + if 'editable' in deps[dep]: + # Support for --egg. + dep = '-e ' + else: + dep = '' dependencies.append('{0}{1}{2}'.format(dep, version, extra)) From 857a7d5a8e3dbb98703560abc7b35afbaa501bac Mon Sep 17 00:00:00 2001 From: vilhalmer Date: Mon, 30 Jan 2017 19:47:02 -0500 Subject: [PATCH 2/2] Remove unnecessary conditional --- pipenv/utils.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/pipenv/utils.py b/pipenv/utils.py index 4a9f9585..c715b3bd 100644 --- a/pipenv/utils.py +++ b/pipenv/utils.py @@ -90,19 +90,18 @@ def convert_deps_to_pip(deps, r=True): if vcs: extra = '{0}+{1}'.format(vcs, deps[dep][vcs]) - if extra: - # Support for @refs. - if 'ref' in deps[dep]: - extra += '@{0}'.format(deps[dep]['ref']) + # Support for @refs. + if 'ref' in deps[dep]: + extra += '@{0}'.format(deps[dep]['ref']) - extra += '#egg={0}'.format(dep) + extra += '#egg={0}'.format(dep) - # Support for editable. - if 'editable' in deps[dep]: - # Support for --egg. - dep = '-e ' - else: - dep = '' + # Support for editable. + if 'editable' in deps[dep]: + # Support for --egg. + dep = '-e ' + else: + dep = '' dependencies.append('{0}{1}{2}'.format(dep, version, extra))