From 831a00a604a173a70ce03eb6aa4906587bdb5d45 Mon Sep 17 00:00:00 2001 From: Goffi Date: Tue, 5 Jan 2016 23:20:22 +0100 Subject: [PATCH] tmp (wokkel.pubsub): PubSubRequest class can be overriden everywhere, including PubSubClient --- src/tmp/wokkel/pubsub.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/tmp/wokkel/pubsub.py b/src/tmp/wokkel/pubsub.py index 8b0f5db0..3eaf92cf 100755 --- a/src/tmp/wokkel/pubsub.py +++ b/src/tmp/wokkel/pubsub.py @@ -759,9 +759,10 @@ class PubSubClient(XMPPHandler): """ Publish subscribe client protocol. """ - implements(IPubSubClient) + _request_class = PubSubRequest + def connectionInitialized(self): self.xmlstream.addObserver('/message/event[@xmlns="%s"]' % NS_PUBSUB_EVENT, self._onEvent) @@ -841,7 +842,7 @@ class PubSubClient(XMPPHandler): @param options: Optional node configuration options. @type options: C{dict} """ - request = PubSubRequest('create') + request = self._request_class('create') request.recipient = service request.nodeIdentifier = nodeIdentifier request.sender = sender @@ -874,7 +875,7 @@ class PubSubClient(XMPPHandler): @param nodeIdentifier: The identifier of the node. @type nodeIdentifier: C{unicode} """ - request = PubSubRequest('delete') + request = self._request_class('delete') request.recipient = service request.nodeIdentifier = nodeIdentifier request.sender = sender @@ -903,7 +904,7 @@ class PubSubClient(XMPPHandler): L{SubscriptionPending} or L{SubscriptionUnconfigured}. @rtype: L{defer.Deferred} """ - request = PubSubRequest('subscribe') + request = self._request_class('subscribe') request.recipient = service request.nodeIdentifier = nodeIdentifier request.subscriber = subscriber @@ -950,7 +951,7 @@ class PubSubClient(XMPPHandler): @param subscriptionIdentifier: Optional subscription identifier. @type subscriptionIdentifier: C{unicode} """ - request = PubSubRequest('unsubscribe') + request = self._request_class('unsubscribe') request.recipient = service request.nodeIdentifier = nodeIdentifier request.subscriber = subscriber @@ -970,7 +971,7 @@ class PubSubClient(XMPPHandler): @param items: Optional list of L{Item}s to publish. @type items: C{list} """ - request = PubSubRequest('publish') + request = self._request_class('publish') request.recipient = service request.nodeIdentifier = nodeIdentifier request.items = items @@ -1000,7 +1001,7 @@ class PubSubClient(XMPPHandler): the results to the specific subscription. @type subscriptionIdentifier: C{unicode} """ - request = PubSubRequest('items') + request = self._request_class('items') request.recipient = service request.nodeIdentifier = nodeIdentifier if maxItems: @@ -1033,7 +1034,7 @@ class PubSubClient(XMPPHandler): @param notify: True if notification is required @type notify: C{unicode} """ - request = PubSubRequest('retract') + request = self._request_class('retract') request.recipient = service request.nodeIdentifier = nodeIdentifier request.itemIdentifiers = itemIdentifiers @@ -1060,7 +1061,7 @@ class PubSubClient(XMPPHandler): @rtype: L{data_form.Form} """ - request = PubSubRequest('optionsGet') + request = self._request_class('optionsGet') request.recipient = service request.nodeIdentifier = nodeIdentifier request.subscriber = subscriber @@ -1098,7 +1099,7 @@ class PubSubClient(XMPPHandler): @param subscriptionIdentifier: Optional subscription identifier. @type subscriptionIdentifier: C{unicode} """ - request = PubSubRequest('optionsSet') + request = self._request_class('optionsSet') request.recipient = service request.nodeIdentifier = nodeIdentifier request.subscriber = subscriber @@ -1218,7 +1219,7 @@ class PubSubService(XMPPHandler, IQHandlerMixin): info = [] - request = PubSubRequest('discoInfo') + request = self._request_class('discoInfo') if self.resource is not None: resource = self.resource.locateResource(request) @@ -1250,7 +1251,7 @@ class PubSubService(XMPPHandler, IQHandlerMixin): if self.hideNodes: d = defer.succeed([]) elif self.resource is not None: - request = PubSubRequest('discoInfo') + request = self._request_class('discoInfo') resource = self.resource.locateResource(request) d = resource.getNodes(requestor, target, nodeIdentifier) elif nodeIdentifier: