def json_iso_dttm_ser(obj):
 val = base_json_conv(obj)
 if (val is not None):
  return val
 if isinstance(obj, datetime):
  obj = obj.isoformat()
 elif isinstance(obj, date):
  obj = obj.isoformat()
 elif isinstance(obj, time):
  obj = obj.isoformat()
 else:
  raise TypeError(u'Unserializable object {} of type {}'.format(obj, type(obj)))
 return obj

def json_iso_dttm_ser ( obj ) : val = base_json_conv ( obj ) if ( val is not None ) : return val if isinstance ( obj , datetime ) : obj = obj . isoformat ( ) elif isinstance ( obj , date ) : obj = obj . isoformat ( ) elif isinstance ( obj , time ) : obj = obj . isoformat ( ) else : raise TypeError ( u'Unserializable object {} of type {}' . format ( obj , type ( obj ) ) ) return obj
json serializer that deals with dates .