本文整理汇总了Python中xmlrpc.client.ServerProxy.getSubscriptions方法的典型用法代码示例。如果您正苦于以下问题:Python ServerProxy.getSubscriptions方法的具体用法?Python ServerProxy.getSubscriptions怎么用?Python ServerProxy.getSubscriptions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xmlrpc.client.ServerProxy
的用法示例。
在下文中一共展示了ServerProxy.getSubscriptions方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_unsubscribe
# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import getSubscriptions [as 别名]
def test_unsubscribe(self):
global _last_callback
uri = rospy.get_node_uri()
node_proxy = ServerProxy(uri)
_, _, subscriptions = node_proxy.getSubscriptions('/foo')
self.assert_(not subscriptions, 'subscriptions present: %s'%str(subscriptions))
print("Subscribing to ", SUBTOPIC)
sub = rospy.Subscriber(SUBTOPIC, String, callback)
topic = rospy.resolve_name(SUBTOPIC)
_, _, subscriptions = node_proxy.getSubscriptions('/foo')
self.assertEquals([[topic, String._type]], subscriptions, "Subscriptions were %s"%subscriptions)
# wait for the first message to be received
timeout_t = time.time() + TIMEOUT
while _last_callback is None and time.time() < timeout_t:
time.sleep(0.1)
self.assert_(_last_callback is not None, "No messages received from talker")
# begin actual test by unsubscribing
sub.unregister()
# clear last callback data, i.e. last message received
_last_callback = None
timeout_t = time.time() + 2.0
# make sure no new messages are received in the next 2 seconds
while timeout_t < time.time():
time.sleep(1.0)
self.assert_(_last_callback is None)
# verify that close cleaned up master and node state
_, _, subscriptions = node_proxy.getSubscriptions('/foo')
self.assert_(not subscriptions, "Node still has subscriptions: %s"%subscriptions)
n = rospy.get_caller_id()
self.assert_(not rostest.is_subscriber(topic, n), "subscription is still active on master")
示例2: TestSlaveApi
# 需要导入模块: from xmlrpc.client import ServerProxy [as 别名]
# 或者: from xmlrpc.client.ServerProxy import getSubscriptions [as 别名]
#.........这里部分代码省略.........
"""
validate node.getPid(caller_id)
"""
# test success
pid = self.apiSuccess(self.node.getPid(self.caller_id))
self.assert_(pid > 0)
# test with bad arity: accept error or fault
try:
self.apiError(self.node.getPid())
except Fault:
pass
def test_rosout(self):
"""
make sure rosout is in publication and connection list
"""
val = self.apiSuccess(self.node.getPublications(self.caller_id))
pubs_d = TopicDescriptionList(val).as_dict()
self.assertTrue('/rosout' in pubs_d, "node is not publishing to rosout")
self.assertEquals('rosgraph_msgs/Log', pubs_d['/rosout'], "/rosout is not correct type")
def test_simtime(self):
"""
test that node obeys simtime (/Clock) contract
http://www.ros.org/wiki/Clock
"""
try:
use_sim_time = self.master.getParam('/use_sim_time')
except:
use_sim_time = False
val = self.apiSuccess(self.node.getSubscriptions(self.caller_id))
subs_d = TopicDescriptionList(val).as_dict()
if use_sim_time:
self.assertTrue('/clock' in subs_d, "node is not subscribing to clock")
self.assertEquals('rosgraph_msgs/Clock', subs_d['/clock'], "/clock is not correct type")
else:
self.assertFalse('/clock' in subs_d, "node is subscribed to /clock even though /use_sim_time is false")
def test_getPublications(self):
"""
validate node.getPublications(caller_id)
"""
# test success
pubs_value = self.apiSuccess(self.node.getPublications(self.caller_id))
pubs = TopicDescriptionList(pubs_value)
pubs_dict = pubs.as_dict()
# this is separately tested by test_rosout
if '/rosout' in pubs_dict:
del pubs_dict['/rosout']
self.assertEquals(self.required_pubs, pubs_dict)
# test with bad arity: accept error or fault
try:
self.apiError(self.node.getPublications())
except Fault:
pass
try:
self.apiError(self.node.getPublications(self.caller_id, 'something extra'))
except Fault:
pass
def test_getSubscriptions(self):