# HG changeset patch # User Goffi # Date 1499259883 -7200 # Node ID 972e335076094827f98f399577c06973ed671fe3 # Parent 666ad9de044c3bc48854c213669fb6a3bbfc1277 plugin XEP-0060: addManagedNode callbacks now use client syntax instead of profile diff -r 666ad9de044c -r 972e33507609 src/core/constants.py --- a/src/core/constants.py Wed Jul 05 15:02:52 2017 +0200 +++ b/src/core/constants.py Wed Jul 05 15:04:43 2017 +0200 @@ -217,7 +217,7 @@ # PubSub PS_PUBLISH = "publish" PS_RETRACT = "retract" # used for items - PS_DELETE = "delete" #used for nodes + PS_DELETE = "delete" # used for nodes PS_ITEM = "item" PS_ITEMS = "items" # Can contain publish and retract items PS_EVENTS = (PS_ITEMS, PS_DELETE) diff -r 666ad9de044c -r 972e33507609 src/plugins/plugin_xep_0060.py --- a/src/plugins/plugin_xep_0060.py Wed Jul 05 15:02:52 2017 +0200 +++ b/src/plugins/plugin_xep_0060.py Wed Jul 05 15:04:43 2017 +0200 @@ -188,9 +188,9 @@ @param node(unicode): node to monitor all node *prefixed* with this one will be triggered @param **kwargs: method(s) to call when the node is found - the methode must be named after PubSub constants in lower case + the method must be named after PubSub constants in lower case and suffixed with "_cb" - e.g.: "publish_cb" for C.PS_PUBLISH, "delete_cb" for C.PS_DELETE + e.g.: "items_cb" for C.PS_ITEMS, "delete_cb" for C.PS_DELETE """ assert node is not None assert kwargs @@ -792,12 +792,12 @@ def itemsReceived(self, event): log.debug(u"Pubsub items received") for callback in self._getNodeCallbacks(event.nodeIdentifier, C.PS_ITEMS): - callback(event, self.parent.profile) + callback(self.parent, event) def deleteReceived(self, event): log.debug((u"Publish node deleted")) for callback in self._getNodeCallbacks(event.nodeIdentifier, C.PS_DELETE): - callback(event, self.parent.profile) + callback(self.parent, event) def subscriptions(self, service, nodeIdentifier, sender=None): """Return the list of subscriptions to the given service and node. diff -r 666ad9de044c -r 972e33507609 src/plugins/plugin_xep_0163.py --- a/src/plugins/plugin_xep_0163.py Wed Jul 05 15:02:52 2017 +0200 +++ b/src/plugins/plugin_xep_0163.py Wed Jul 05 15:04:43 2017 +0200 @@ -78,16 +78,15 @@ self.pep_events.add(node) if notify: self.pep_events.add(node + "+notify") - def filterPEPEvent(itemsEvent, profile): + def filterPEPEvent(client, itemsEvent): """Ignore messages which are not coming from PEP (i.e. main server) @param itemsEvent(pubsub.ItemsEvent): pubsub event - @param profile(unicode): %(doc_profile)s """ if itemsEvent.sender.user or itemsEvent.sender.resource: - log.debug("ignoring non PEP event from {} (profile={})".format(itemsEvent.sender.full(), profile)) + log.debug("ignoring non PEP event from {} (profile={})".format(itemsEvent.sender.full(), client.profile)) return - in_callback(itemsEvent, profile) + in_callback(itemsEvent, client.profile) self.host.plugins["XEP-0060"].addManagedNode(node, items_cb=filterPEPEvent) diff -r 666ad9de044c -r 972e33507609 src/plugins/plugin_xep_0277.py --- a/src/plugins/plugin_xep_0277.py Wed Jul 05 15:02:52 2017 +0200 +++ b/src/plugins/plugin_xep_0277.py Wed Jul 05 15:04:43 2017 +0200 @@ -112,10 +112,10 @@ ## plugin management methods ## - def _itemsReceived(self, itemsEvent, profile): + def _itemsReceived(self, client, itemsEvent): """Callback which manage items notifications (publish + retract)""" def manageItem(data, event): - self.host.bridge.psEvent(C.PS_MICROBLOG, itemsEvent.sender.full(), itemsEvent.nodeIdentifier, event, data, profile) + self.host.bridge.psEvent(C.PS_MICROBLOG, itemsEvent.sender.full(), itemsEvent.nodeIdentifier, event, data, client.profile) for item in itemsEvent.items: if item.name == C.PS_ITEM: