From e3e913ef8fc61cc07ba8ff2da3c5f5fb1cd5590e Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Fri, 5 Feb 2021 23:50:53 -0800 Subject: spack_json: _strify should be a no-op in Python 3 _strify traverses *all* of the read-in data and converts strings, but only for Python 2. Ignore it in Python 3. --- lib/spack/spack/util/spack_json.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/spack/spack/util/spack_json.py b/lib/spack/spack/util/spack_json.py index ae26b97d54..62fd9ca824 100644 --- a/lib/spack/spack/util/spack_json.py +++ b/lib/spack/spack/util/spack_json.py @@ -38,10 +38,14 @@ def dump(data, stream=None): def _strify(data, ignore_dicts=False): + """Converts python 2 unicodes to str in JSON data.""" + # this is a no-op in python 3 + if sys.version_info[0] >= 3: + return data + # if this is a unicode string in python 2, return its string representation - if sys.version_info[0] < 3: - if isinstance(data, string_types): - return data.encode('utf-8') + if isinstance(data, string_types): + return data.encode('utf-8') # if this is a list of values, return list of byteified values if isinstance(data, list): -- cgit v1.2.3-60-g2f50