diff --git a/src/tmp/wokkel/pubsub.py b/src/tmp/wokkel/pubsub.py index 19d34372..d9eba900 100755 --- a/src/tmp/wokkel/pubsub.py +++ b/src/tmp/wokkel/pubsub.py @@ -1408,6 +1408,9 @@ class PubSubService(XMPPHandler, IQHandlerMixin): items["node"] = request.nodeIdentifier for item in result: + if isinstance(item, tuple): + # XXX: see sat_pubsub.pgsql_storage.LeafNode.getItemsById return value + item = item[0] if item.name == 'item': item.uri = NS_PUBSUB items.addChild(item) diff --git a/src/tmp/wokkel/rsm.py b/src/tmp/wokkel/rsm.py index 3bef9c17..df981e73 100644 --- a/src/tmp/wokkel/rsm.py +++ b/src/tmp/wokkel/rsm.py @@ -368,9 +368,12 @@ class PubSubService(pubsub.PubSubService): def _toResponse_items(self, result, resource, request): response = pubsub.PubSubService._toResponse_items(self, result, resource, request) - set_elts = [elt for elt in result if elt.name == 'set'] - if set_elts: - assert len(set_elts) == 1 - response.addChild(set_elts[0]) + for item in result: + if isinstance(item, tuple): + # XXX: see sat_pubsub.pgsql_storage.LeafNode.getItemsById return value + item = item[0] + if item.name == set: + response.addChild(item) + break return response