From d124103ab0b0aed24e40a7da53792a67221d1c62 Mon Sep 17 00:00:00 2001 From: Nate Prewitt Date: Tue, 14 Mar 2017 09:45:56 -0600 Subject: [PATCH] use six.string_types instead of str to handle unicode in Python2 --- pipenv/utils.py | 3 ++- tests/test_utils.py | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pipenv/utils.py b/pipenv/utils.py index 8e9273d3..830dcc4a 100644 --- a/pipenv/utils.py +++ b/pipenv/utils.py @@ -5,6 +5,7 @@ import tempfile import parse import requests import requirements +import six try: from HTMLParser import HTMLParser @@ -81,7 +82,7 @@ def convert_deps_to_pip(deps, r=True): for dep in deps.keys(): # Default (e.g. '>1.10'). - extra = deps[dep] if isinstance(deps[dep], str) else '' + extra = deps[dep] if isinstance(deps[dep], six.string_types) else '' version = '' # Get rid of '*'. diff --git a/tests/test_utils.py b/tests/test_utils.py index 0f3a2d81..01fc9eb0 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -56,6 +56,11 @@ class TestUtils: deps = pipenv.utils.convert_deps_to_pip(deps, r=False) assert deps[0] == 'FooProject==1.2 --hash=sha256:2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824' + # test unicode values + deps = {u'django': u'==1.10'} + deps = pipenv.utils.convert_deps_to_pip(deps, r=False) + assert deps[0] == 'django>1.10' + def test_convert_from_pip(self):