[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r5152 - trunk/gnue-common/src/datasources/drivers/appserver/appserver
From: |
jan |
Subject: |
r5152 - trunk/gnue-common/src/datasources/drivers/appserver/appserver |
Date: |
Tue, 24 Feb 2004 06:40:45 -0600 (CST) |
Author: jan
Date: 2004-02-24 06:40:37 -0600 (Tue, 24 Feb 2004)
New Revision: 5152
Modified:
trunk/gnue-common/src/datasources/drivers/appserver/appserver/Connection.py
Log:
rename type to typestr, to allow type checks. Don't raise an error when trying
to convert a unicode string to unicode. (fixes appserver dbdriver using
xmlrpc.pw_xmlrpc driver)
Modified:
trunk/gnue-common/src/datasources/drivers/appserver/appserver/Connection.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/appserver/appserver/Connection.py
2004-02-24 11:30:43 UTC (rev 5151)
+++ trunk/gnue-common/src/datasources/drivers/appserver/appserver/Connection.py
2004-02-24 12:40:37 UTC (rev 5152)
@@ -155,30 +155,35 @@
self._fieldtypes = self._fieldtypes [0]
# convert a value retrieved from RPC to the correct native Python type
- def __rpc_to_native (self, value, type):
+ def __rpc_to_native (self, value, typestr):
# Empty strings indicate None
if value == '':
return None
# String: convert to unicode or local encoding
- elif type [:7] == 'string(':
- value = unicode (value, 'utf-8')
+ elif typestr [:7] == 'string(':
+ try:
+ value = unicode (value, 'utf-8')
+ except TypeError, msg:
+ # if value is already unicode, don't raise TypeError
+ if type(value)!=types.UnicodeType:
+ raise TypeError, msg
if self._unicodeMode:
return value
else:
return value.encode (gConfig ('textEncoding'))
# Date: convert to mx.DateTime object
- elif type == 'date':
+ elif typestr == 'date':
return mx.DateTime.ISO.ParseDate (value)
# Time: convert to mx.DateTime object
- elif type == 'time':
+ elif typestr == 'time':
return mx.DateTime.ISO.ParseTime (value)
# DateTime: convert to mx.DateTime object
- elif type == 'datetime':
+ elif typestr == 'datetime':
return mx.DateTime.ISO.ParseDateTime (value)
# All others (id, number, boolean, reference): no need to convert
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r5152 - trunk/gnue-common/src/datasources/drivers/appserver/appserver,
jan <=