commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r7711 - trunk/gnue-common/src/datasources/drivers/sql/sqlite


From: johannes
Subject: [gnue] r7711 - trunk/gnue-common/src/datasources/drivers/sql/sqlite
Date: Fri, 8 Jul 2005 04:09:20 -0500 (CDT)

Author: johannes
Date: 2005-07-08 04:09:19 -0500 (Fri, 08 Jul 2005)
New Revision: 7711

Modified:
   trunk/gnue-common/src/datasources/drivers/sql/sqlite/pysqlite2drv.py
Log:
Add adapter and converter for boolean types


Modified: trunk/gnue-common/src/datasources/drivers/sql/sqlite/pysqlite2drv.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/sql/sqlite/pysqlite2drv.py        
2005-07-08 08:25:16 UTC (rev 7710)
+++ trunk/gnue-common/src/datasources/drivers/sql/sqlite/pysqlite2drv.py        
2005-07-08 09:09:19 UTC (rev 7711)
@@ -109,10 +109,6 @@
   _drivername_ = 'pysqlite2.dbapi2'
   _behavior_   = Behavior.Behavior
 
-  # SQLite doesn't like boolean type in SQL parameters
-  _boolean_true_    = 1
-  _boolean_false_   = 0
-
   _std_datetime_    = True
   _rowidField_      = u'oid'
   _broken_rowcount_ = True
@@ -138,9 +134,12 @@
 
     from pysqlite2 import dbapi2
 
-    # Register the missing converter and adpater for time values
+    # Register the missing converter and adapater for time values
     dbapi2.register_adapter (datetime.time, adapt_time)
     dbapi2.register_converter ('time', convert_time)
+    # Register the missing converter and adapter for boolean values
+    dbapi2.register_adapter (bool, adapt_boolean)
+    dbapi2.register_converter ('boolean', convert_boolean)
     # NOTE: gnue-forms allways creates datetime values, even for dates. This is
     # why we have to define our own converter. Please remove as soon as
     # gnue-forms is fixed.
@@ -192,3 +191,16 @@
     value = value.time ()
 
   return value.isoformat ()
+
+# -----------------------------------------------------------------------------
+
+def convert_boolean (value):
+
+  value = "%s" % value
+  return value.strip ().lower () in ['y', 't', '1', 'true', 'yes']
+
+# -----------------------------------------------------------------------------
+
+def adapt_boolean (value):
+
+  return value and '1' or '0'





reply via email to

[Prev in Thread] Current Thread [Next in Thread]