elif hasattr(value, 'iteritems'):
return to_primitive(dict(value.iteritems()),
convert_instances=convert_instances,
- level=level)
+ level=level + 1)
elif hasattr(value, '__iter__'):
- return to_primitive(list(value), level)
+ return to_primitive(list(value),
+ convert_instances=convert_instances,
+ level=level)
elif convert_instances and hasattr(value, '__dict__'):
# Likely an instance of something. Watch for cycles.
# Ignore class member vars.
self._set_version(msg, version)
rpc.cast(context, self._get_topic(topic), msg)
- def fanout_cast(self, context, msg, version=None):
+ def fanout_cast(self, context, msg, topic=None, version=None):
"""rpc.fanout_cast() a remote method.
:param context: The request context
:param msg: The message to send, including the method and args.
+ :param topic: Override the topic for this message.
:param version: (Optional) Override the requested API version in this
message.
from the remote method.
"""
self._set_version(msg, version)
- rpc.fanout_cast(context, self.topic, msg)
+ rpc.fanout_cast(context, self._get_topic(topic), msg)
def cast_to_server(self, context, server_params, msg, topic=None,
version=None):
self._set_version(msg, version)
rpc.cast_to_server(context, server_params, self._get_topic(topic), msg)
- def fanout_cast_to_server(self, context, server_params, msg, version=None):
+ def fanout_cast_to_server(self, context, server_params, msg, topic=None,
+ version=None):
"""rpc.fanout_cast_to_server() a remote method.
:param context: The request context
:param server_params: Server parameters. See rpc.cast_to_server() for
details.
:param msg: The message to send, including the method and args.
+ :param topic: Override the topic for this message.
:param version: (Optional) Override the requested API version in this
message.
return values.
"""
self._set_version(msg, version)
- rpc.fanout_cast_to_server(context, server_params, self.topic, msg)
+ rpc.fanout_cast_to_server(context, server_params,
+ self._get_topic(topic), msg)