plugin XEP-0060: service, node and uri are added to metadata when doing a getItems

This commit is contained in:
Goffi 2016-03-09 16:59:29 +01:00
commit c4ac825c8f

View file

@ -281,6 +281,7 @@ class XEP_0060(object):
- list of items
- metadata with the following keys:
- rsm_first, rsm_last, rsm_count, rsm_index: first, last, count and index value of RSMResponse
- service, node: service and node used
"""
if rsm_request and item_ids:
raise ValueError(u"items_id can't be used with rsm")
@ -328,10 +329,12 @@ class XEP_0060(object):
def addMetadata(result):
items, rsm_response = result
metadata = {'service': service or client.jid.host,
'node': node,
'uri': self.getNodeURI(service, node),
}
if rsm_request is not None and rsm_response is not None:
metadata = {'rsm_{}'.format(key): value for key, value in rsm_response.toDict().iteritems()}
else:
metadata = {}
metadata.update({'rsm_{}'.format(key): value for key, value in rsm_response.toDict().iteritems()})
return (items, metadata)
d.addCallback(addMetadata)