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

Reply via email to