plugin XEP-0050: handle note element in command answer

This commit is contained in:
souliane 2014-06-18 14:52:52 +02:00
commit fd00955ce4

View file

@ -262,7 +262,18 @@ class XEP_0050(object):
remote_session_id = command_elt.getAttribute('sessionid')
if remote_session_id:
session_data['remote_id'] = remote_session_id
data_elt = command_elt.elements(data_form.NS_X_DATA, 'x').next()
try:
data_elt = command_elt.elements(data_form.NS_X_DATA, 'x').next()
except StopIteration:
# FIXME: command answer can contains several 'note' elements
try:
data_elt = command_elt.elements(NS_COMMANDS, 'note').next()
xml_ui = xml_tools.XMLUI('popup', title=data_elt.getAttribute('type'))
xml_ui.addText(str(data_elt))
return xml_ui
except StopIteration:
log.error(_('Unmanaged command answer: %s') % command_elt.toXml())
return None
if session_id is None:
return xml_tools.dataFormResult2XMLUI(data_elt)
form = data_form.Form.fromElement(data_elt)