Mercurial > libervia-backend
diff sat/plugins/plugin_xep_0060.py @ 3587:2715da5b2aa7
plugin XEP-0060: handle purge notifications
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 29 Jul 2021 15:54:54 +0200 |
parents | 5f65f4e9f8cb |
children | 2c7a52a62be3 |
line wrap: on
line diff
--- a/sat/plugins/plugin_xep_0060.py Wed Jul 28 23:01:15 2021 +0200 +++ b/sat/plugins/plugin_xep_0060.py Thu Jul 29 15:54:54 2021 +0200 @@ -1529,6 +1529,19 @@ event.sender.full(), event.nodeIdentifier, C.PS_DELETE, [], client.profile ) + def purgeReceived(self, event): + log.debug(("Publish node purged")) + for callback in self._getNodeCallbacks(event.nodeIdentifier, C.PS_PURGE): + d = utils.asDeferred(callback, self.parent, event) + d.addErrback(lambda f: log.error( + f"Error while running purge event callback {callback}: {f}" + )) + client = self.parent + if (event.sender, event.nodeIdentifier) in client.pubsub_watching: + self.host.bridge.psEventRaw( + event.sender.full(), event.nodeIdentifier, C.PS_PURGE, [], client.profile + ) + def subscriptions(self, service, nodeIdentifier, sender=None): """Return the list of subscriptions to the given service and node.