diff --git a/sleekxmpp/plugins/xep_0050/stanza.py b/sleekxmpp/plugins/xep_0050/stanza.py index 31a4a5d5..2367c77b 100644 --- a/sleekxmpp/plugins/xep_0050/stanza.py +++ b/sleekxmpp/plugins/xep_0050/stanza.py @@ -110,14 +110,14 @@ class Command(ElementBase): """ Return the set of allowable next actions. """ - actions = [] + actions = set() actions_xml = self.find('{%s}actions' % self.namespace) if actions_xml is not None: for action in self.next_actions: action_xml = actions_xml.find('{%s}%s' % (self.namespace, action)) if action_xml is not None: - actions.append(action) + actions.add(action) return actions def del_actions(self): diff --git a/sleekxmpp/plugins/xep_0059/stanza.py b/sleekxmpp/plugins/xep_0059/stanza.py index 7fad4636..48f5c8a0 100644 --- a/sleekxmpp/plugins/xep_0059/stanza.py +++ b/sleekxmpp/plugins/xep_0059/stanza.py @@ -74,7 +74,7 @@ class Set(ElementBase): if fi is not None: if val: fi.attrib['index'] = val - else: + elif 'index' in fi.attrib: del fi.attrib['index'] elif val: fi = ET.Element("{%s}first" % (self.namespace)) diff --git a/tests/test_stanza_xep_0050.py b/tests/test_stanza_xep_0050.py index ae584de4..e02e86c3 100644 --- a/tests/test_stanza_xep_0050.py +++ b/tests/test_stanza_xep_0050.py @@ -49,7 +49,7 @@ class TestAdHocCommandStanzas(SleekTest): iq['command']['actions'] = ['prev', 'next'] results = iq['command']['actions'] - expected = ['prev', 'next'] + expected = set(['prev', 'next']) self.assertEqual(results, expected, "Incorrect next actions: %s" % results)