def _read_actions(self):
action_url = urljoin(self._url_base, self._control_url)
for action_node in self._findall('actionList/action'):
name = action_node.findtext('name', namespaces=action_node.nsmap)
argsdef_in = []
argsdef_out = []
for arg_node in action_node.findall(
'argumentList/argument', namespaces=action_node.nsmap):
findtext = partial(arg_node.findtext, namespaces=arg_node.nsmap)
arg_name = findtext('name')
arg_statevar = self.statevars[findtext('relatedStateVariable')]
if findtext('direction').lower() == 'in':
argsdef_in.append((arg_name, arg_statevar))
else:
argsdef_out.append((arg_name, arg_statevar))
action = Action(action_url, self.service_type, name, argsdef_in, argsdef_out)
self.action_map[name] = action
self.actions.append(action)
评论列表
文章目录