Changeset 6:283b6997cf7d for wokkel/pubsub.py
- Timestamp:
- Oct 4, 2007, 9:47:22 AM (15 years ago)
- Branch:
- default
- Convert:
- svn:b33ecbfc-034c-dc11-8662-000475d9059e/trunk@13
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
wokkel/pubsub.py
r2 r6 222 222 def _onItems(self, message): 223 223 try: 224 notifier = jid.JID(message["from"]) 225 node = message.event.items["node"] 224 service = jid.JID(message["from"]) 225 recipient = jid.JID(message["to"]) 226 nodeIdentifier = message.event.items["node"] 226 227 except KeyError: 227 228 return … … 230 231 if element.name == 'item'] 231 232 232 self.itemsReceived( notifier, node, items)233 234 def itemsReceived(self, notifier, node, items):233 self.itemsReceived(recipient, service, nodeIdentifier, items) 234 235 def itemsReceived(self, recipient, service, nodeIdentifier, items): 235 236 pass 236 237 237 def createNode(self, service, node =None):238 request = CreateNode(self.xmlstream, node )238 def createNode(self, service, nodeIdentifier=None): 239 request = CreateNode(self.xmlstream, nodeIdentifier) 239 240 240 241 def cb(iq): … … 243 244 except AttributeError: 244 245 # the suggested node identifier was accepted 245 new_node = node 246 new_node = nodeIdentifier 246 247 return new_node 247 248 248 249 return request.send(service).addCallback(cb) 249 250 250 def deleteNode(self, service, node ):251 return DeleteNode(self.xmlstream, node ).send(service)252 253 def subscribe(self, service, node , subscriber):254 request = Subscribe(self.xmlstream, node , subscriber)251 def deleteNode(self, service, nodeIdentifier): 252 return DeleteNode(self.xmlstream, nodeIdentifier).send(service) 253 254 def subscribe(self, service, nodeIdentifier, subscriber): 255 request = Subscribe(self.xmlstream, nodeIdentifier, subscriber) 255 256 256 257 def cb(iq): … … 269 270 return request.send(service).addCallback(cb) 270 271 271 def publish(self, service, node , items=[]):272 request = Publish(self.xmlstream, node )272 def publish(self, service, nodeIdentifier, items=[]): 273 request = Publish(self.xmlstream, nodeIdentifier) 273 274 for item in items: 274 275 request.command.addChild(item) … … 343 344 self.xmlstream.addObserver(PUBSUB_OWNER_SET, self.handleRequest) 344 345 345 def getDiscoInfo(self, target, requestor, nodeIdentifier):346 def getDiscoInfo(self, requestor, target, nodeIdentifier): 346 347 info = [] 347 348 … … 379 380 return d 380 381 381 def getDiscoItems(self, target, requestor, nodeIdentifier):382 def getDiscoItems(self, requestor, target, nodeIdentifier): 382 383 if nodeIdentifier or self.hideNodes: 383 384 return defer.succeed([]) … … 390 391 def _onPublish(self, iq): 391 392 requestor = jid.internJID(iq["from"]).userhostJID() 393 service = jid.internJID(iq["to"]) 392 394 393 395 try: … … 401 403 items.append(element) 402 404 403 return self.publish(requestor, nodeIdentifier, items)405 return self.publish(requestor, service, nodeIdentifier, items) 404 406 405 407 def _onSubscribe(self, iq): 406 408 requestor = jid.internJID(iq["from"]).userhostJID() 409 service = jid.internJID(iq["to"]) 407 410 408 411 try: … … 421 424 return response 422 425 423 d = self.subscribe(requestor, nodeIdentifier, subscriber)426 d = self.subscribe(requestor, service, nodeIdentifier, subscriber) 424 427 d.addCallback(toResponse) 425 428 return d … … 427 430 def _onUnsubscribe(self, iq): 428 431 requestor = jid.internJID(iq["from"]).userhostJID() 432 service = jid.internJID(iq["to"]) 429 433 430 434 try: … … 434 438 raise BadRequest 435 439 436 return self.unsubscribe(requestor, nodeIdentifier, subscriber)440 return self.unsubscribe(requestor, service, nodeIdentifier, subscriber) 437 441 438 442 def _onOptionsGet(self, iq): … … 444 448 def _onSubscriptions(self, iq): 445 449 requestor = jid.internJID(iq["from"]).userhostJID() 450 service = jid.internJID(iq["to"]) 446 451 447 452 def toResponse(result): … … 455 460 return response 456 461 457 d = self.subscriptions(requestor )462 d = self.subscriptions(requestor, service) 458 463 d.addCallback(toResponse) 459 464 return d … … 461 466 def _onAffiliations(self, iq): 462 467 requestor = jid.internJID(iq["from"]).userhostJID() 468 service = jid.internJID(iq["to"]) 463 469 464 470 def toResponse(result): … … 473 479 return response 474 480 475 d = self.affiliations(requestor )481 d = self.affiliations(requestor, service) 476 482 d.addCallback(toResponse) 477 483 return d … … 479 485 def _onCreate(self, iq): 480 486 requestor = jid.internJID(iq["from"]).userhostJID() 487 service = jid.internJID(iq["to"]) 481 488 nodeIdentifier = iq.pubsub.create.getAttribute("node") 482 489 … … 490 497 return None 491 498 492 d = self.create(requestor, nodeIdentifier)499 d = self.create(requestor, service, nodeIdentifier) 493 500 d.addCallback(toResponse) 494 501 return d … … 504 511 def _onDefault(self, iq): 505 512 requestor = jid.internJID(iq["from"]).userhostJID() 513 service = jid.internJID(iq["to"]) 506 514 507 515 def toResponse(options): … … 511 519 return response 512 520 513 d = self.getDefaultConfiguration(requestor )521 d = self.getDefaultConfiguration(requestor, service) 514 522 d.addCallback(toResponse) 515 523 return d … … 517 525 def _onConfigureGet(self, iq): 518 526 requestor = jid.internJID(iq["from"]).userhostJID() 527 service = jid.internJID(iq["to"]) 519 528 nodeIdentifier = iq.pubsub.configure.getAttribute("node") 520 529 … … 529 538 return response 530 539 531 d = self.getConfiguration(requestor, nodeIdentifier)540 d = self.getConfiguration(requestor, service, nodeIdentifier) 532 541 d.addCallback(toResponse) 533 542 return d … … 535 544 def _onConfigureSet(self, iq): 536 545 requestor = jid.internJID(iq["from"]).userhostJID() 546 service = jid.internJID(iq["to"]) 537 547 nodeIdentifier = iq.pubsub.configure["node"] 538 548 … … 566 576 if options["FORM_TYPE"] == NS_PUBSUB + "#node_config": 567 577 del options["FORM_TYPE"] 568 return self.setConfiguration(requestor, nodeIdentifier,569 options)578 return self.setConfiguration(requestor, service, 579 nodeIdentifier, options) 570 580 571 581 raise BadRequest … … 573 583 def _onItems(self, iq): 574 584 requestor = jid.internJID(iq["from"]).userhostJID() 585 service = jid.internJID(iq["to"]) 575 586 576 587 try: … … 605 616 return response 606 617 607 d = self.items(requestor, nodeIdentifier, maxItems, itemIdentifiers) 618 d = self.items(requestor, service, nodeIdentifier, maxItems, 619 itemIdentifiers) 608 620 d.addCallback(toResponse) 609 621 return d … … 611 623 def _onRetract(self, iq): 612 624 requestor = jid.internJID(iq["from"]).userhostJID() 625 service = jid.internJID(iq["to"]) 613 626 614 627 try: … … 625 638 raise BadRequest 626 639 627 return self.retract(requestor, nodeIdentifier, itemIdentifiers) 640 return self.retract(requestor, service, nodeIdentifier, 641 itemIdentifiers) 628 642 629 643 def _onPurge(self, iq): 630 644 requestor = jid.internJID(iq["from"]).userhostJID() 645 service = jid.internJID(iq["to"]) 631 646 632 647 try: … … 635 650 raise BadRequest 636 651 637 return self.purge(requestor, nodeIdentifier)652 return self.purge(requestor, service, nodeIdentifier) 638 653 639 654 def _onDelete(self, iq): 640 655 requestor = jid.internJID(iq["from"]).userhostJID() 656 service = jid.internJID(iq["to"]) 641 657 642 658 try: … … 645 661 raise BadRequest 646 662 647 return self.delete(requestor, nodeIdentifier)663 return self.delete(requestor, service, nodeIdentifier) 648 664 649 665 def _onAffiliationsGet(self, iq): … … 661 677 # public methods 662 678 663 def notifyPublish(self, entity, nodeIdentifier, notifications):679 def notifyPublish(self, service, nodeIdentifier, notifications): 664 680 665 681 print notifications 666 682 for recipient, items in notifications: 667 683 message = domish.Element((None, "message")) 668 message["from"] = entity.full()684 message["from"] = service.full() 669 685 message["to"] = recipient.full() 670 686 event = message.addElement((NS_PUBSUB_EVENT, "event")) … … 674 690 self.send(message) 675 691 676 def getNodeInfo(self, requestor, nodeIdentifier):692 def getNodeInfo(self, requestor, service, nodeIdentifier): 677 693 return None 678 694 679 def getNodes(self, requestor ):695 def getNodes(self, requestor, service): 680 696 return [] 681 697 682 def publish(self, requestor, nodeIdentifier, items):698 def publish(self, requestor, service, nodeIdentifier, items): 683 699 raise Unsupported('publish') 684 700 685 def subscribe(self, requestor, nodeIdentifier, subscriber):701 def subscribe(self, requestor, service, nodeIdentifier, subscriber): 686 702 raise Unsupported('subscribe') 687 703 688 def unsubscribe(self, requestor, nodeIdentifier, subscriber):704 def unsubscribe(self, requestor, service, nodeIdentifier, subscriber): 689 705 raise Unsupported('subscribe') 690 706 691 def subscriptions(self, requestor ):707 def subscriptions(self, requestor, service): 692 708 raise Unsupported('retrieve-subscriptions') 693 709 694 def affiliations(self, requestor ):710 def affiliations(self, requestor, service): 695 711 raise Unsupported('retrieve-affiliations') 696 712 697 def create(self, requestor, nodeIdentifier):713 def create(self, requestor, service, nodeIdentifier): 698 714 raise Unsupported('create-nodes') 699 715 700 def getDefaultConfiguration(self, requestor ):716 def getDefaultConfiguration(self, requestor, service): 701 717 raise Unsupported('retrieve-default') 702 718 703 def getConfiguration(self, requestor, nodeIdentifier):719 def getConfiguration(self, requestor, service, nodeIdentifier): 704 720 raise Unsupported('config-node') 705 721 706 def setConfiguration(self, requestor, nodeIdentifier, options):722 def setConfiguration(self, requestor, service, nodeIdentifier, options): 707 723 raise Unsupported('config-node') 708 724 709 def items(self, requestor, nodeIdentifier, maxItems, itemIdentifiers): 725 def items(self, requestor, service, nodeIdentifier, maxItems, 726 itemIdentifiers): 710 727 raise Unsupported('retrieve-items') 711 728 712 def retract(self, requestor, nodeIdentifier, itemIdentifiers):729 def retract(self, requestor, service, nodeIdentifier, itemIdentifiers): 713 730 raise Unsupported('retract-items') 714 731 715 def purge(self, requestor, nodeIdentifier):732 def purge(self, requestor, service, nodeIdentifier): 716 733 raise Unsupported('purge-nodes') 717 734 718 def delete(self, requestor, nodeIdentifier):735 def delete(self, requestor, service, nodeIdentifier): 719 736 raise Unsupported('delete-nodes') 720
Note: See TracChangeset
for help on using the changeset viewer.