source:
ralphm-patches/pubsub_client_sender.patch
@
3:5868b365661f
Last change on this file since 3:5868b365661f was 3:5868b365661f, checked in by Ralph Meijer <ralphm@…>, 13 years ago | |
---|---|
File size: 4.3 KB |
-
wokkel/pubsub.py
diff -r 52898d5828ee wokkel/pubsub.py
a b 150 150 C{verb}. 151 151 """ 152 152 153 def __init__(self, xs, verb, namespace=NS_PUBSUB, method='set'): 153 def __init__(self, xs, verb, namespace=NS_PUBSUB, method='set', 154 sender=None): 154 155 xmlstream.IQ.__init__(self, xs, method) 156 if sender: 157 self['from'] = sender.full() 155 158 self.addElement((namespace, 'pubsub')) 156 159 157 160 self.command = self.pubsub.addElement(verb) … … 295 298 pass 296 299 297 300 298 def createNode(self, service, nodeIdentifier=None ):301 def createNode(self, service, nodeIdentifier=None, sender=None): 299 302 """ 300 303 Create a publish subscribe node. 301 304 … … 306 309 """ 307 310 308 311 309 request = _PubSubRequest(self.xmlstream, 'create' )312 request = _PubSubRequest(self.xmlstream, 'create', sender=sender) 310 313 if nodeIdentifier: 311 314 request.command['node'] = nodeIdentifier 312 315 … … 321 324 return request.send(service).addCallback(cb) 322 325 323 326 324 def deleteNode(self, service, nodeIdentifier ):327 def deleteNode(self, service, nodeIdentifier, sender=None): 325 328 """ 326 329 Delete a publish subscribe node. 327 330 … … 330 333 @param nodeIdentifier: The identifier of the node. 331 334 @type nodeIdentifier: C{unicode} 332 335 """ 333 request = _PubSubRequest(self.xmlstream, 'delete', NS_PUBSUB_OWNER) 336 request = _PubSubRequest(self.xmlstream, 'delete', NS_PUBSUB_OWNER, 337 sender=None) 334 338 request.command['node'] = nodeIdentifier 335 339 return request.send(service) 336 340 337 341 338 def subscribe(self, service, nodeIdentifier, subscriber ):342 def subscribe(self, service, nodeIdentifier, subscriber, sender=None): 339 343 """ 340 344 Subscribe to a publish subscribe node. 341 345 … … 347 351 will get notifications of new published items. 348 352 @type subscriber: L{JID} 349 353 """ 350 request = _PubSubRequest(self.xmlstream, 'subscribe' )354 request = _PubSubRequest(self.xmlstream, 'subscribe', sender=sender) 351 355 if nodeIdentifier: 352 356 request.command['node'] = nodeIdentifier 353 357 request.command['jid'] = subscriber.full() … … 368 372 return request.send(service).addCallback(cb) 369 373 370 374 371 def unsubscribe(self, service, nodeIdentifier, subscriber ):375 def unsubscribe(self, service, nodeIdentifier, subscriber, sender=None): 372 376 """ 373 377 Unsubscribe from a publish subscribe node. 374 378 … … 379 383 @param subscriber: The entity to unsubscribe from the node. 380 384 @type subscriber: L{JID} 381 385 """ 382 request = _PubSubRequest(self.xmlstream, 'unsubscribe' )386 request = _PubSubRequest(self.xmlstream, 'unsubscribe', sender=sender) 383 387 if nodeIdentifier: 384 388 request.command['node'] = nodeIdentifier 385 389 request.command['jid'] = subscriber.full() 386 390 return request.send(service) 387 391 388 392 389 def publish(self, service, nodeIdentifier, items=None ):393 def publish(self, service, nodeIdentifier, items=None, sender=None): 390 394 """ 391 395 Publish to a publish subscribe node. 392 396 … … 397 401 @param items: Optional list of L{Item}s to publish. 398 402 @type items: C{list} 399 403 """ 400 request = _PubSubRequest(self.xmlstream, 'publish' )404 request = _PubSubRequest(self.xmlstream, 'publish', sender=sender) 401 405 request.command['node'] = nodeIdentifier 402 406 if items: 403 407 for item in items: … … 406 410 return request.send(service) 407 411 408 412 409 def items(self, service, nodeIdentifier, maxItems=None ):413 def items(self, service, nodeIdentifier, maxItems=None, sender=None): 410 414 """ 411 415 Retrieve previously published items from a publish subscribe node. 412 416 … … 417 421 @param maxItems: Optional limit on the number of retrieved items. 418 422 @type maxItems: C{int} 419 423 """ 420 request = _PubSubRequest(self.xmlstream, 'items', method='get') 424 request = _PubSubRequest(self.xmlstream, 'items', method='get', 425 sender=sender) 421 426 if nodeIdentifier: 422 427 request.command['node'] = nodeIdentifier 423 428 if maxItems:
Note: See TracBrowser
for help on using the repository browser.