Python 3 compatibility

This commit is contained in:
Christophe de Vienne 2013-01-17 22:57:05 +01:00
parent 02551de6de
commit b33177ab70
2 changed files with 6 additions and 4 deletions

View File

@ -192,10 +192,12 @@ def datetime_fromjson(datatype, value):
return datetime.datetime.strptime(value, '%Y-%m-%dT%H:%M:%S') return datetime.datetime.strptime(value, '%Y-%m-%dT%H:%M:%S')
def parse(s, datatypes, bodyarg): def parse(s, datatypes, bodyarg, encoding='utf8'):
if hasattr(s, 'read'): if hasattr(s, 'read'):
jdata = json.load(s) jdata = json.load(s)
else: else:
if six.PY3 and isinstance(s, six.binary_type):
s = s.decode(encoding)
jdata = json.loads(s) jdata = json.loads(s)
if bodyarg: if bodyarg:
argname = list(datatypes.keys())[0] argname = list(datatypes.keys())[0]

View File

@ -208,19 +208,19 @@ class TestController(unittest.TestCase):
'Accept': 'application/json' 'Accept': 'application/json'
}) })
self.assertEquals(res.body, '10') self.assertEquals(res.body, b('10'))
res = app.get('/mul_float?a=2.2&b=4', headers={ res = app.get('/mul_float?a=2.2&b=4', headers={
'Accept': 'application/json' 'Accept': 'application/json'
}) })
self.assertEquals(res.body, '8.8') self.assertEquals(res.body, b('8.8'))
res = app.get('/mul_string?a=hello&b=2', headers={ res = app.get('/mul_string?a=hello&b=2', headers={
'Accept': 'application/json' 'Accept': 'application/json'
}) })
self.assertEquals(res.body, '"hellohello"') self.assertEquals(res.body, b('"hellohello"'))
class TestFunctionDefinition(unittest.TestCase): class TestFunctionDefinition(unittest.TestCase):