more customizaiton of booleans
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 2.0.9 (2012-10-01 15:54:19) dev
|
Version 2.0.9 (2012-10-01 17:06:56) dev
|
||||||
|
|||||||
+13
-12
@@ -594,7 +594,8 @@ class BaseAdapter(ConnectionPool):
|
|||||||
support_distributed_transaction = False
|
support_distributed_transaction = False
|
||||||
uploads_in_blob = False
|
uploads_in_blob = False
|
||||||
can_select_for_update = True
|
can_select_for_update = True
|
||||||
|
TRUE = 'T'
|
||||||
|
FALSE = 'F'
|
||||||
types = {
|
types = {
|
||||||
'boolean': 'CHAR(1)',
|
'boolean': 'CHAR(1)',
|
||||||
'string': 'CHAR(%(length)s)',
|
'string': 'CHAR(%(length)s)',
|
||||||
@@ -623,6 +624,11 @@ class BaseAdapter(ConnectionPool):
|
|||||||
def adapt(self, obj):
|
def adapt(self, obj):
|
||||||
return "'%s'" % obj.replace("'", "''")
|
return "'%s'" % obj.replace("'", "''")
|
||||||
|
|
||||||
|
def smart_adapt(self, obj):
|
||||||
|
if isinstance(obj,(int,float)):
|
||||||
|
return str(obj)
|
||||||
|
return self.adapt(str(obj))
|
||||||
|
|
||||||
def integrity_error(self):
|
def integrity_error(self):
|
||||||
return self.driver.IntegrityError
|
return self.driver.IntegrityError
|
||||||
|
|
||||||
@@ -1703,10 +1709,10 @@ class BaseAdapter(ConnectionPool):
|
|||||||
if not r is None:
|
if not r is None:
|
||||||
return r
|
return r
|
||||||
if fieldtype == 'boolean':
|
if fieldtype == 'boolean':
|
||||||
if obj and not str(obj)[:1].upper() in ['F', '0']:
|
if obj and not str(obj)[:1].upper() in '0F':
|
||||||
return "'T'"
|
return self.smart_adapt(self.TRUE)
|
||||||
else:
|
else:
|
||||||
return "'F'"
|
return self.smart_adapt(self.FALSE)
|
||||||
if fieldtype == 'id' or fieldtype == 'integer':
|
if fieldtype == 'id' or fieldtype == 'integer':
|
||||||
return str(int(obj))
|
return str(int(obj))
|
||||||
if field_is_type('decimal'):
|
if field_is_type('decimal'):
|
||||||
@@ -2946,13 +2952,8 @@ class MSSQLAdapter(BaseAdapter):
|
|||||||
sql_s += ' TOP %i' % lmax
|
sql_s += ' TOP %i' % lmax
|
||||||
return 'SELECT %s %s FROM %s%s%s;' % (sql_s, sql_f, sql_t, sql_w, sql_o)
|
return 'SELECT %s %s FROM %s%s%s;' % (sql_s, sql_f, sql_t, sql_w, sql_o)
|
||||||
|
|
||||||
def represent_exceptions(self, obj, fieldtype):
|
TRUE = 1
|
||||||
if fieldtype == 'boolean':
|
FALSE = 0
|
||||||
if obj and not str(obj)[0].upper() == 'F':
|
|
||||||
return '1'
|
|
||||||
else:
|
|
||||||
return '0'
|
|
||||||
return None
|
|
||||||
|
|
||||||
REGEX_DSN = re.compile('^(?P<dsn>.+)$')
|
REGEX_DSN = re.compile('^(?P<dsn>.+)$')
|
||||||
REGEX_URI = re.compile('^(?P<user>[^:@]+)(\:(?P<password>[^@]*))?@(?P<host>[^\:/]+)(\:(?P<port>[0-9]+))?/(?P<db>[^\?]+)(\?(?P<urlargs>.*))?$')
|
REGEX_URI = re.compile('^(?P<user>[^:@]+)(\:(?P<password>[^@]*))?@(?P<host>[^\:/]+)(\:(?P<port>[0-9]+))?/(?P<db>[^\?]+)(\?(?P<urlargs>.*))?$')
|
||||||
@@ -4089,7 +4090,7 @@ class NoSQLAdapter(BaseAdapter):
|
|||||||
obj = obj['id']
|
obj = obj['id']
|
||||||
obj = long(obj)
|
obj = long(obj)
|
||||||
elif fieldtype == 'boolean':
|
elif fieldtype == 'boolean':
|
||||||
if obj and not str(obj)[0].upper() == 'F':
|
if obj and not str(obj)[0].upper() in '0F':
|
||||||
obj = True
|
obj = True
|
||||||
else:
|
else:
|
||||||
obj = False
|
obj = False
|
||||||
|
|||||||
Reference in New Issue
Block a user