Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > xml-rpc - adodb - None type - DateTime type

Reply
Thread Tools

xml-rpc - adodb - None type - DateTime type

 
 
dcrespo
Guest
Posts: n/a
 
      10-28-2005
Hi to all,

I have functions defined in an xml-rpc server. Some functions query to
a Postgres database (using adodb) and return its recordset. So, if some
xml-rpc client runs the mentioned function, it will retrieve the
recordset. The problem is that if a retrieved field has the Null value
or the Date value (DateTime Database format), then, the retrieved
recordset in the python program will have the 'None' value or the
DateTime type object value.

xml-rpc isn't able to accept any type of value, so I have to solve it.

I can replace all None values with the string 'Null', there's no
problem, but I can't detect the DateTime type object I retrieve from
the database.

I have something like this:
def xmlrpc_function():
conn = adodb.NewADOConnection('postgres')
conn.Connect(host,user,password,database)
rs = conn.Exec("select * from table")
result = []
i = 0
while not rs.EOF:
row = rs.GetRowAssoc(False)
for key, value in row.items():
if value==None:
row[key]='Null'
result.append(row)
i = i + 1
rs.MoveNext()
rs.Close()

print result
return result

The problem here is that if row[key] == <type 'DateTime' object
etc...>, then I don't know what to do for detect it and make the
appropriate change to string.

Console output:
[{'name': 'Null', 'date': <DateTime object for '2005-09-01 00:00:00.00'
at 1515f60>}]

If you consult the python manual, you'll see that there's no 'DateTime'
type object, so I can't do something like:

if value==DateTimeType:
...

I only need to know which type of data is a field for make the change
according to what can I pass through the xml-rpc.

Any help?

Thanks

 
Reply With Quote
 
 
 
 
infidel
Guest
Posts: n/a
 
      10-28-2005
> I can replace all None values with the string 'Null', there's no
> problem, but I can't detect the DateTime type object I retrieve from
> the database.
>
> I have something like this:
> def xmlrpc_function():
> conn = adodb.NewADOConnection('postgres')
> conn.Connect(host,user,password,database)
> rs = conn.Exec("select * from table")
> result = []
> i = 0
> while not rs.EOF:
> row = rs.GetRowAssoc(False)
> for key, value in row.items():
> if value==None:
> row[key]='Null'
> result.append(row)
> i = i + 1
> rs.MoveNext()
> rs.Close()
>
> print result
> return result
>
> The problem here is that if row[key] == <type 'DateTime' object
> etc...>, then I don't know what to do for detect it and make the
> appropriate change to string.
>
> Console output:
> [{'name': 'Null', 'date': <DateTime object for '2005-09-01 00:00:00.00'
> at 1515f60>}]
>
> If you consult the python manual, you'll see that there's no 'DateTime'
> type object, so I can't do something like:
>
> if value==DateTimeType:
> ...
>
> I only need to know which type of data is a field for make the change
> according to what can I pass through the xml-rpc.


Well, there is the possibility of passing null values through xml-rpc.
I believe there is an optional keyword argument in some of the
xmlrpclib functions to allow it. Basically it translates None to
<nil/> in the xml.

The DateTime type must be defined somewhere. Is it an adodb type? If
so, you could do something like this:

if type(value) == adodb.DateTime:
...

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: [2.4.4] creating a datetime.datetime from an XML xs:dateTime skip@pobox.com Python 2 01-06-2009 01:31 PM
[2.4.4] creating a datetime.datetime from an XML xs:dateTime Martin Python 0 12-27-2008 08:08 PM
mx.DateTime to datetime.datetime mp Python 1 07-28-2006 10:57 PM
datetime: .datetime-.datetime = .timedelta, .time-.time=TypeError ? Christos TZOTZIOY Georgiou Python 3 09-13-2003 10:44 AM
RE: datetime: .datetime-.datetime = .timedelta, .time-.time=TypeError ? Tim Peters Python 0 09-09-2003 12:57 AM



Advertisments