tmp(wokkel/pubsub): allows getNodes to return names using tuples(node/names)
This commit is contained in:
parent
c9c34550df
commit
607138befb
1 changed files with 17 additions and 2 deletions
|
|
@ -1289,6 +1289,22 @@ class PubSubService(XMPPHandler, IQHandlerMixin):
|
|||
return d
|
||||
|
||||
|
||||
def _parseNodes(self, nodes, target):
|
||||
"""parse return values of resource.getNodes
|
||||
|
||||
basestring values are used as node
|
||||
tuple are unpacked as node, name
|
||||
"""
|
||||
items = []
|
||||
for node in nodes:
|
||||
if isinstance(node, basestring):
|
||||
items.append(disco.DiscoItem(target, node))
|
||||
else:
|
||||
_node, name = node
|
||||
items.append(disco.DiscoItem(target, _node, name))
|
||||
return items
|
||||
|
||||
|
||||
def getDiscoItems(self, requestor, target, nodeIdentifier=''):
|
||||
if self.hideNodes:
|
||||
d = defer.succeed([])
|
||||
|
|
@ -1301,8 +1317,7 @@ class PubSubService(XMPPHandler, IQHandlerMixin):
|
|||
else:
|
||||
d = defer.succeed([])
|
||||
|
||||
d.addCallback(lambda nodes: [disco.DiscoItem(target, node)
|
||||
for node in nodes])
|
||||
d.addCallback(self._parseNodes, target)
|
||||
return d
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue