diff --git a/sleekxmpp/plugins/xep_0050/adhoc.py b/sleekxmpp/plugins/xep_0050/adhoc.py index fcf51b1a..fb3af7cf 100644 --- a/sleekxmpp/plugins/xep_0050/adhoc.py +++ b/sleekxmpp/plugins/xep_0050/adhoc.py @@ -218,6 +218,9 @@ class XEP_0050(BasePlugin): for stanza in iq['command']['substanzas']: payload.append(stanza) + if len(payload) == 1: + payload = payload[0] + interfaces = set([item.plugin_attrib for item in payload]) payload_classes = set([item.__class__ for item in payload]) diff --git a/tests/test_stream_xep_0050.py b/tests/test_stream_xep_0050.py index 373bce64..5ad9d6ae 100644 --- a/tests/test_stream_xep_0050.py +++ b/tests/test_stream_xep_0050.py @@ -35,7 +35,7 @@ class TestAdHocCommands(SleekTest): logging.debug(initial) new_payload = TestPayload() if initial: - new_payload['bar'] = 'Received: %s' % initial[0]['bar'] + new_payload['bar'] = 'Received: %s' % initial['bar'] else: new_payload['bar'] = 'Failed'