Python 3: decode bytes before feeding them to jsonutils.loads()
urlopen(...).read() returns bytes in Python 3, so we cannot call jsonutils.loads() on the output: we first have to decode() it. Change-Id: I39504059a8c82347476dd88dfcbd060d58df13d0
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
# under the License.
|
||||
|
||||
import logging
|
||||
import six
|
||||
from six.moves.urllib import request
|
||||
import yaml
|
||||
|
||||
@@ -647,6 +648,8 @@ def do_resource_signal(hc, args):
|
||||
data_url = template_utils.normalise_file_path_to_url(data_file)
|
||||
data = request.urlopen(data_url).read()
|
||||
if data:
|
||||
if isinstance(data, six.binary_type):
|
||||
data = data.decode('utf-8')
|
||||
try:
|
||||
data = jsonutils.loads(data)
|
||||
except ValueError as ex:
|
||||
|
||||
Reference in New Issue
Block a user