def __enter__(self):
self._proxy.__enter__()
try:
methods = self._proxy.system.listMethods()
except ProtocolError as e:
if e.errcode != 404:
raise
# remote daemon returned 404, likely using different rmw impl.
self._proxy.__exit__()
# fall back to use direct node
self._proxy = DirectNode(self._args)
self._proxy.__enter__()
else:
self._methods = [m for m in methods if not m.startswith('system.')]
return self
评论列表
文章目录