summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLance Stout <lancestout@gmail.com>2012-04-30 11:16:10 -0700
committerLance Stout <lancestout@gmail.com>2012-04-30 11:16:10 -0700
commita9acff5294fa6c349d113236de07d0e8dae186a1 (patch)
tree01e2691273e1e2d66063a8794834dee72f3906d2
parentad5b61de50ca4fbcc445ceae8db568be6518e66e (diff)
downloadslixmpp-a9acff5294fa6c349d113236de07d0e8dae186a1.tar.gz
slixmpp-a9acff5294fa6c349d113236de07d0e8dae186a1.tar.bz2
slixmpp-a9acff5294fa6c349d113236de07d0e8dae186a1.tar.xz
slixmpp-a9acff5294fa6c349d113236de07d0e8dae186a1.zip
Collapse initial payload to a single stanza instead of a list if only one stanza is found.
-rw-r--r--sleekxmpp/plugins/xep_0050/adhoc.py3
-rw-r--r--tests/test_stream_xep_0050.py2
2 files changed, 4 insertions, 1 deletions
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'