plugin XEP-0060: added psGet bridge method
This commit is contained in:
parent
d7d5ca1d18
commit
20ffb6d2eb
2 changed files with 13 additions and 1 deletions
|
|
@ -62,7 +62,6 @@ Welcome!
|
|||
|
||||
|
||||
class InvitationsPlugin(object):
|
||||
# TODO: plugin unload
|
||||
|
||||
def __init__(self, host):
|
||||
log.info(_(u"plugin Invitations initialization"))
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ class XEP_0060(object):
|
|||
self._mam = host.plugins.get('XEP-0313')
|
||||
self._node_cb = {} # dictionnary of callbacks for node (key: node, value: list of callbacks)
|
||||
self.rt_sessions = sat_defer.RTDeferredSessions()
|
||||
host.bridge.addMethod("psGet", ".plugin", in_sign='ssiassa{ss}s', out_sign='(asa{ss})', method=self._getItems, async=True)
|
||||
host.bridge.addMethod("psDeleteNode", ".plugin", in_sign='sss', out_sign='', method=self._deleteNode, async=True)
|
||||
host.bridge.addMethod("psRetractItem", ".plugin", in_sign='sssbs', out_sign='', method=self._retractItem, async=True)
|
||||
host.bridge.addMethod("psRetractItems", ".plugin", in_sign='ssasbs', out_sign='', method=self._retractItems, async=True)
|
||||
|
|
@ -266,6 +267,18 @@ class XEP_0060(object):
|
|||
raise exceptions.DataError(u"Can't find Item in MAM message element")
|
||||
return item_elt
|
||||
|
||||
def _getItems(self, service='', node='', max_items=10, item_ids=None, sub_id=None, extra_dict=None, 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
|
||||
"""
|
||||
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)
|
||||
d = self.getItems(service, node or None, max_items or None, item_ids, sub_id or None, extra.rsm_request, extra.extra, profile_key)
|
||||
d.addCallback(self.serItemsData)
|
||||
return d
|
||||
|
||||
def getItems(self, service, node, max_items=None, item_ids=None, sub_id=None, rsm_request=None, extra=None, profile_key=C.PROF_KEY_NONE):
|
||||
"""Retrieve pubsub items from a node.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue