plugin XEP-0060: getItems extra is now serialised dict

This commit is contained in:
Goffi 2021-07-28 23:01:15 +02:00
commit f2a06bbcbf

View file

@ -197,7 +197,7 @@ class XEP_0060(object):
host.bridge.addMethod(
"psItemsGet",
".plugin",
in_sign="ssiassa{ss}s",
in_sign="ssiassss",
out_sign="s",
method=self._getItems,
async_=True,
@ -284,7 +284,7 @@ class XEP_0060(object):
host.bridge.addMethod(
"psGetFromMany",
".plugin",
in_sign="a(ss)ia{ss}s",
in_sign="a(ss)iss",
out_sign="s",
method=self._getFromMany,
)
@ -613,7 +613,7 @@ class XEP_0060(object):
return data_format.serialise(metadata)
def _getItems(self, service="", node="", max_items=10, item_ids=None, sub_id=None,
extra_dict=None, profile_key=C.PROF_KEY_NONE):
extra="", profile_key=C.PROF_KEY_NONE):
"""Get items from pubsub node
@param max_items(int): maximum number of item to get, C.NO_LIMIT for no limit
@ -621,7 +621,7 @@ class XEP_0060(object):
client = self.host.getClient(profile_key)
service = jid.JID(service) if service else None
max_items = None if max_items == C.NO_LIMIT else max_items
extra = self.parseExtra(extra_dict)
extra = self.parseExtra(data_format.deserialise(extra))
d = defer.ensureDeferred(self.getItems(
client,
service,
@ -1439,13 +1439,13 @@ class XEP_0060(object):
return d
def _getFromMany(
self, node_data, max_item=10, extra_dict=None, profile_key=C.PROF_KEY_NONE
self, node_data, max_item=10, extra="", profile_key=C.PROF_KEY_NONE
):
"""
@param max_item(int): maximum number of item to get, C.NO_LIMIT for no limit
"""
max_item = None if max_item == C.NO_LIMIT else max_item
extra = self.parseExtra(extra_dict)
extra = self.parseExtra(data_format.deserialise(extra))
return self.getFromMany(
[(jid.JID(service), str(node)) for service, node in node_data],
max_item,