parameters: (master, caller_id)
return_statement: return caller_api
docstring: Get XML-RPC API of node
      :param master: XML-RPC handle to ROS Master, :class:`xmlrpclib.ServerProxy`
      :param caller_id: node name, ``str``
      :returns: XML-RPC URI of node, ``str``
      :raises: :exc:`ROSTopicIOException` If unable to communicate with master
docstring_summary: Get XML-RPC API of node
      :param master: XML-RPC handle to ROS Master, :class:`xmlrpclib.ServerProxy`
      :param caller_id: node name, ``str``
      :returns: XML-RPC URI of node, ``str``
      :raises: :exc:`ROSTopicIOException` If unable to communicate with master
docstring_tokens: Get XML - RPC API of node : param master : XML - RPC handle to ROS Master : class : xmlrpclib . ServerProxy : param caller_id : node name str : returns : XML - RPC URI of node str : raises : : exc : ROSTopicIOException If unable to communicate with master
function: def get_api(master, caller_id):
      """
      Get XML-RPC API of node
      :param master: XML-RPC handle to ROS Master, :class:`xmlrpclib.ServerProxy`
      :param caller_id: node name, ``str``
      :returns: XML-RPC URI of node, ``str``
      :raises: :exc:`ROSTopicIOException` If unable to communicate with master
      """
      caller_api = _caller_apis.get(caller_id, None)
      if not caller_api:
          try:
              caller_api = master.lookupNode(caller_id)
              _caller_apis[caller_id] = caller_api
          except socket.error:
              raise ROSTopicIOException("Unable to communicate with master!")
          except rosgraph.MasterError:
              caller_api = 'unknown address %s'%caller_id
  
      return caller_api
function_tokens: def get_api ( master , caller_id ) : caller_api = _caller_apis . get ( caller_id , None ) if not caller_api : try : caller_api = master . lookupNode ( caller_id ) _caller_apis [ caller_id ] = caller_api except socket . error : raise ROSTopicIOException ( "Unable to communicate with master!" ) except rosgraph . MasterError : caller_api = 'unknown address %s' % caller_id return caller_api