# HG changeset patch # User Goffi # Date 1643133217 -3600 # Node ID ba3f695fff34df734fa2e131a3b855ba83480eae # Parent 896e76caa2040c1c219b34ee68ab89bbb617f8e2 wokkel(rsm): add RSM and Pubsub RSM features to disco diff -r 896e76caa204 -r ba3f695fff34 sat_tmp/wokkel/rsm.py --- a/sat_tmp/wokkel/rsm.py Tue Jan 25 18:53:06 2022 +0100 +++ b/sat_tmp/wokkel/rsm.py Tue Jan 25 18:53:37 2022 +0100 @@ -27,12 +27,14 @@ from twisted.words.xish import domish from twisted.words.protocols.jabber import error +from wokkel import disco from . import pubsub import copy NS_RSM = 'http://jabber.org/protocol/rsm' +NS_PUBSUB_RSM = "http://jabber.org/protocol/pubsub#rsm" class RSMError(error.StanzaError): @@ -424,5 +426,16 @@ return response + def getDiscoInfo(self, requestor, target, nodeIdentifier=''): + def appendRSMFeatures(info): + for ns in (NS_RSM, NS_PUBSUB_RSM): + feature = disco.DiscoFeature(ns) + if feature not in info: + info.append(feature) + return info + d = super().getDiscoInfo(requestor, target, nodeIdentifier) + d.addCallback(appendRSMFeatures) + return d + PubSubService._legacyHandlers["items"][1].append("rsm")