diff --git a/pipenv.py b/pipenv.py index 436df14f..88505106 100644 --- a/pipenv.py +++ b/pipenv.py @@ -9,7 +9,6 @@ import delegator import click import crayons import _pipfile as pipfile -from parse import parse __version__ = '0.0.0' @@ -96,6 +95,13 @@ def convert_deps_from_pip(dep): r = multi_split(dep, '=<>') dependency[r[0]] = dep[len(r[0]):] + # Extras: e.g. requests[socks] + elif '[' in dep: + r = multi_split(dep, '[]') + dependency[r[0]] = {'extras': r[1].split(',')} + + # TODO: Editable installs. + # Bare dependencies: e.g. requests else: dependency[dep] = '*' diff --git a/test_pipenv.py b/test_pipenv.py index 81c67540..ffc7f520 100644 --- a/test_pipenv.py +++ b/test_pipenv.py @@ -49,14 +49,6 @@ def test_convert_from_pip(): dep = pipenv.convert_deps_from_pip(dep) assert dep == {'requests': {'extras': ['socks']}} - # Django>1.10 - # deps = pipenv.convert_deps_to_pip(deps) - # assert deps[0] == 'django>1.10' - - # -e git+git://github.com/pinax/pinax.git@1.4 - # deps = {'pinax': {'git': 'git://github.com/pinax/pinax.git', 'ref': '1.4', 'editable': True}} - # deps = pipenv.convert_deps_to_pip(deps) - # assert deps[0] == '-e git+git://github.com/pinax/pinax.git@1.4 --egg=pinax' - pass + # TODO: -e git+git://github.com/pinax/pinax.git@1.4