Mercurial > p > roundup > code
diff roundup/backends/rdbms_common.py @ 2482:a15f91a10e45 maint-0.7
merge from HEAD
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Mon, 21 Jun 2004 04:34:58 +0000 |
| parents | a8db3996b4f5 |
| children | 8ff455218ec2 |
line wrap: on
line diff
--- a/roundup/backends/rdbms_common.py Thu Jun 17 10:15:49 2004 +0000 +++ b/roundup/backends/rdbms_common.py Mon Jun 21 04:34:58 2004 +0000 @@ -1,4 +1,4 @@ -# $Id: rdbms_common.py,v 1.98.2.8 2004-06-09 09:48:49 richard Exp $ +# $Id: rdbms_common.py,v 1.98.2.9 2004-06-21 04:34:57 richard Exp $ ''' Relational database (SQL) backend common code. Basics: @@ -53,6 +53,12 @@ except: return float(num) +def _bool_cvt(value): + if value in ('TRUE', 'FALSE'): + return {'TRUE': 1, 'FALSE': 0}[value] + # assume it's a number returned from the db API + return int(value) + class Database(FileStorage, hyperdb.Database, roundupdb.Database): ''' Wrapper around an SQL database that presents a hyperdb interface. @@ -736,7 +742,7 @@ prop = props[col[1:]] value = values[col[1:]] - if value: + if value is not None: value = self.hyperdb_to_sql_value[prop.__class__](value) vals.append(value) vals.append(nodeid) @@ -876,7 +882,7 @@ hyperdb.Link : str, hyperdb.Interval : date.Interval, hyperdb.Password : lambda x: password.Password(encrypted=x), - hyperdb.Boolean : int, + hyperdb.Boolean : _bool_cvt, hyperdb.Number : _num_cvt, hyperdb.Multilink : lambda x: x, # used in journal marshalling }
