Changeset: b504c88bb34b for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b504c88bb34b
Added Files:
clients/python2/test/test_pythonize.py
Modified Files:
clients/python2/monetdb/sql/pythonize.py
clients/python2/test/runtests.py
Branch: Oct2012
Log Message:
fixes hex encoding bug reported by Mate Birkas
diffs (51 lines):
diff --git a/clients/python2/monetdb/sql/pythonize.py
b/clients/python2/monetdb/sql/pythonize.py
--- a/clients/python2/monetdb/sql/pythonize.py
+++ b/clients/python2/monetdb/sql/pythonize.py
@@ -119,7 +119,7 @@ def convert(data, type_code):
def Binary(data):
"""returns binary encoding of data"""
- return ''.join([hex(ord(i))[2:] for i in data]).upper()
+ return ''.join(["%02X" % ord(i) for i in data])
def DateFromTicks(ticks):
"""Convert ticks to python Date"""
diff --git a/clients/python2/test/runtests.py b/clients/python2/test/runtests.py
--- a/clients/python2/test/runtests.py
+++ b/clients/python2/test/runtests.py
@@ -25,6 +25,7 @@ import logging
import capabilities
import dbapi20
+import test_pythonize
warnings.filterwarnings('error')
@@ -93,6 +94,7 @@ if __name__ == '__main__':
suites = [
Test_Capabilities,
Test_DBAPI20,
+ test_pythonize.TestPythonize,
]
for suite in suites:
diff --git a/clients/python2/test/test_pythonize.py
b/clients/python2/test/test_pythonize.py
new file mode 100644
--- /dev/null
+++ b/clients/python2/test/test_pythonize.py
@@ -0,0 +1,15 @@
+import unittest
+import monetdb.sql.pythonize
+
+class TestPythonize(unittest.TestCase):
+ def test_Binary(self):
+ input1 = ''.join([chr(i) for i in range(256)])
+ output1 = ''.join(["%02X" % i for i in range(256)])
+ result1 = monetdb.sql.pythonize.Binary(input1)
+ self.assertEqual(output1, result1)
+
+ input2 = '\tdharma'
+ output2 = '09646861726D61'
+ result2 = monetdb.sql.pythonize.Binary(input2)
+ self.assertEqual(output2, result2)
+
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list