comparison src/plugins/plugin_xep_0050.py @ 1077:387bbc459d8f

plugin XEP-0050: handle note element in command answer
author souliane <souliane@mailoo.org>
date Wed, 18 Jun 2014 14:52:52 +0200
parents eef1f200d733
children c0ef97002ef4
comparison
equal deleted inserted replaced
1076:a65ad0e738f7 1077:387bbc459d8f
260 else: 260 else:
261 return None 261 return None
262 remote_session_id = command_elt.getAttribute('sessionid') 262 remote_session_id = command_elt.getAttribute('sessionid')
263 if remote_session_id: 263 if remote_session_id:
264 session_data['remote_id'] = remote_session_id 264 session_data['remote_id'] = remote_session_id
265 data_elt = command_elt.elements(data_form.NS_X_DATA, 'x').next() 265 try:
266 data_elt = command_elt.elements(data_form.NS_X_DATA, 'x').next()
267 except StopIteration:
268 # FIXME: command answer can contains several 'note' elements
269 try:
270 data_elt = command_elt.elements(NS_COMMANDS, 'note').next()
271 xml_ui = xml_tools.XMLUI('popup', title=data_elt.getAttribute('type'))
272 xml_ui.addText(str(data_elt))
273 return xml_ui
274 except StopIteration:
275 log.error(_('Unmanaged command answer: %s') % command_elt.toXml())
276 return None
266 if session_id is None: 277 if session_id is None:
267 return xml_tools.dataFormResult2XMLUI(data_elt) 278 return xml_tools.dataFormResult2XMLUI(data_elt)
268 form = data_form.Form.fromElement(data_elt) 279 form = data_form.Form.fromElement(data_elt)
269 return xml_tools.dataForm2XMLUI(form, self.__requesting_id, session_id=session_id) 280 return xml_tools.dataForm2XMLUI(form, self.__requesting_id, session_id=session_id)
270 281