Author: cito
Date: Tue Jan 26 12:50:41 2016
New Revision: 785
Log:
Make all tests run again with Python 3
Modified:
trunk/pg.py
trunk/pgmodule.c
trunk/tests/test_classic_functions.py
Modified: trunk/pg.py
==============================================================================
--- trunk/pg.py Tue Jan 26 12:17:23 2016 (r784)
+++ trunk/pg.py Tue Jan 26 12:50:41 2016 (r785)
@@ -538,10 +538,11 @@
def _prepare_bytea_array(self, d):
"""Prepare a bytea array parameter."""
if isinstance(d, list):
- return '{%s}' % ','.join(self._prepare_bytea_array(v) for v in d)
+ return b'{' + b','.join(
+ self._prepare_bytea_array(v) for v in d) + b'}'
if d is None:
- return 'null'
- return self.escape_bytea(d).replace('\\', '\\\\')
+ return b'null'
+ return self.escape_bytea(d).replace(b'\\', b'\\\\')
def _prepare_json_array(self, d):
"""Prepare a json array parameter."""
Modified: trunk/pgmodule.c
==============================================================================
--- trunk/pgmodule.c Tue Jan 26 12:17:23 2016 (r784)
+++ trunk/pgmodule.c Tue Jan 26 12:50:41 2016 (r785)
@@ -779,9 +779,8 @@
element = encoding == pg_encoding_ascii
? NULL :
get_decoded_string(estr, esize,
encoding);
if (!element) /* no decoding necessary
or possible */
-#else
- element =
PyBytes_FromStringAndSize(estr, esize);
#endif
+ element =
PyBytes_FromStringAndSize(estr, esize);
if (element && cast)
{
element =
PyObject_CallFunctionObjArgs(
Modified: trunk/tests/test_classic_functions.py
==============================================================================
--- trunk/tests/test_classic_functions.py Tue Jan 26 12:17:23 2016
(r784)
+++ trunk/tests/test_classic_functions.py Tue Jan 26 12:50:41 2016
(r785)
@@ -220,9 +220,9 @@
self.assertRaises(TypeError, f, '{}', None, ',;')
self.assertEqual(f('{}'), [])
self.assertEqual(f('{}', None), [])
- self.assertEqual(f('{}', None, ';'), [])
+ self.assertEqual(f('{}', None, b';'), [])
self.assertEqual(f('{}', str), [])
- self.assertEqual(f('{}', str, ';'), [])
+ self.assertEqual(f('{}', str, b';'), [])
def testParserSimple(self):
r = pg.cast_array('{a,b,c}')
@@ -292,10 +292,10 @@
def testParserDelim(self):
f = pg.cast_array
self.assertEqual(f('{1,2}'), ['1', '2'])
- self.assertEqual(f('{1,2}', delim=','), ['1', '2'])
+ self.assertEqual(f('{1,2}', delim=b','), ['1', '2'])
self.assertEqual(f('{1;2}'), ['1;2'])
- self.assertEqual(f('{1;2}', delim=';'), ['1', '2'])
- self.assertEqual(f('{1,2}', delim=';'), ['1,2'])
+ self.assertEqual(f('{1;2}', delim=b';'), ['1', '2'])
+ self.assertEqual(f('{1,2}', delim=b';'), ['1,2'])
def testParserWithData(self):
f = pg.cast_array
@@ -320,7 +320,7 @@
f = pg.cast_array
def replace_comma(value):
- if isinstance(value, basestring):
+ if isinstance(value, str):
return value.replace(',', ';')
elif isinstance(value, list):
return [replace_comma(v) for v in value]
@@ -333,7 +333,7 @@
self.assertRaises(ValueError, f, expression, cast)
else:
expected = replace_comma(expected)
- self.assertEqual(f(expression, cast, ';'), expected)
+ self.assertEqual(f(expression, cast, b';'), expected)
class TestEscapeFunctions(unittest.TestCase):
_______________________________________________
PyGreSQL mailing list
[email protected]
https://mail.vex.net/mailman/listinfo.cgi/pygresql