diff options
Diffstat (limited to 'openstack')
| -rw-r--r-- | openstack/common/jsonutils.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/openstack/common/jsonutils.py b/openstack/common/jsonutils.py index fa8b8f9..12a8cf2 100644 --- a/openstack/common/jsonutils.py +++ b/openstack/common/jsonutils.py @@ -37,6 +37,7 @@ import datetime import inspect import itertools import json +import xmlrpclib def to_primitive(value, convert_instances=False, level=0): @@ -81,6 +82,12 @@ def to_primitive(value, convert_instances=False, level=0): # The try block may not be necessary after the class check above, # but just in case ... try: + # It's not clear why xmlrpclib created their own DateTime type, but + # for our purposes, make it a datetime type which is explicitly + # handled + if isinstance(value, xmlrpclib.DateTime): + value = datetime.datetime(*tuple(value.timetuple())[:6]) + if isinstance(value, (list, tuple)): o = [] for v in value: |
