[Freeipa-devel] GeneralizedTime v.s datetime.datetime in XMLRPC

John Dennis jdennis at redhat.com
Wed Nov 4 17:39:10 UTC 2009


In parameters.py we define a GeneralizedTime object to be used as an 
XMLRPC parameter. Why?

* XMLRPC defines the dateTime.iso8601 parameter value type for passing 
date/time information

* Python has good support for date/time processing in it's datetime module

* Python's xmlrpclib supports both xmlrpclib.DateTime and 
datetime.datetime objects.

* Python's xmlrpclib can be configured to use datetime.datetime objects 
intead of xmlrpclib.DateTime objects if you pass use_datetime=True when 
invoking xmlrpclib.loads(), however we don't do that. Why?

* ISO 8601 is an internet standard for passing date time information 
between cooperating network entities. However GeneralizedTime is only 
valid in a subset of binary protocols (primarily LDAP and PKI)

Given that ISO 8601 is the preferred standard, that's it is directly 
supported by XMLRPC, is compatible with datetime.datetime and the fact 
datetime.datetime has excellent support in Python shouldn't we be using 
datetime.datetime for all our date/time information and only convert to 
and from GeneralizedTime for the subset of interfaces which require 
GeneralizedTime?

-- 
John Dennis <jdennis at redhat.com>

Looking to carve out IT costs?
www.redhat.com/carveoutcosts/




More information about the Freeipa-devel mailing list