From a9acff5294fa6c349d113236de07d0e8dae186a1 Mon Sep 17 00:00:00 2001 From: Lance Stout Date: Mon, 30 Apr 2012 11:16:10 -0700 Subject: Collapse initial payload to a single stanza instead of a list if only one stanza is found. --- sleekxmpp/plugins/xep_0050/adhoc.py | 3 +++ tests/test_stream_xep_0050.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) 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' -- cgit v1.2.3