Changeset 4:c8c73d9e5496 in ralphm-patches for pubsub_client_sender.patch


Ignore:
Timestamp:
Mar 23, 2009, 9:42:55 PM (13 years ago)
Author:
Ralph Meijer <ralphm@…>
Branch:
default
Message:

Save bunch of work.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pubsub_client_sender.patch

    r3 r4  
    1 diff -r 52898d5828ee wokkel/pubsub.py
    2 --- a/wokkel/pubsub.py  Thu Mar 05 19:41:28 2009 +0100
    3 +++ b/wokkel/pubsub.py  Fri Mar 06 21:15:35 2009 +0100
    4 @@ -150,8 +150,11 @@
    5                     C{verb}.
    6      """
    7  
    8 -    def __init__(self, xs, verb, namespace=NS_PUBSUB, method='set'):
    9 +    def __init__(self, xs, verb, namespace=NS_PUBSUB, method='set',
    10 +                       sender=None):
    11          xmlstream.IQ.__init__(self, xs, method)
    12 +        if sender:
    13 +            self['from'] = sender.full()
    14          self.addElement((namespace, 'pubsub'))
    15  
    16          self.command = self.pubsub.addElement(verb)
    17 @@ -295,7 +298,7 @@
     1diff -r 8be0600d2c32 wokkel/pubsub.py
     2--- a/wokkel/pubsub.py  Mon Mar 23 09:00:16 2009 +0100
     3+++ b/wokkel/pubsub.py  Mon Mar 23 09:00:24 2009 +0100
     4@@ -605,7 +605,7 @@
    185         pass
    196 
     
    2411         Create a publish subscribe node.
    2512 
    26 @@ -306,7 +309,7 @@
    27          """
    28  
    29  
    30 -        request = _PubSubRequest(self.xmlstream, 'create')
    31 +        request = _PubSubRequest(self.xmlstream, 'create', sender=sender)
    32          if nodeIdentifier:
    33              request.command['node'] = nodeIdentifier
    34  
    35 @@ -321,7 +324,7 @@
    36          return request.send(service).addCallback(cb)
     13@@ -617,6 +617,7 @@
     14         request = PubSubRequest('create')
     15         request.recipient = service
     16         request.nodeIdentifier = nodeIdentifier
     17+        request.sender = sender
     18 
     19         def cb(iq):
     20             try:
     21@@ -631,7 +632,7 @@
     22         return d
    3723 
    3824 
     
    4228         Delete a publish subscribe node.
    4329 
    44 @@ -330,12 +333,13 @@
    45          @param nodeIdentifier: The identifier of the node.
    46          @type nodeIdentifier: C{unicode}
    47          """
    48 -        request = _PubSubRequest(self.xmlstream, 'delete', NS_PUBSUB_OWNER)
    49 +        request = _PubSubRequest(self.xmlstream, 'delete', NS_PUBSUB_OWNER,
    50 +                                 sender=None)
    51          request.command['node'] = nodeIdentifier
    52          return request.send(service)
     30@@ -643,10 +644,11 @@
     31         request = PubSubRequest('delete')
     32         request.recipient = service
     33         request.nodeIdentifier = nodeIdentifier
     34+        request.sender = sender
     35         return request.send(self.xmlstream)
    5336 
    5437 
     
    5841         Subscribe to a publish subscribe node.
    5942 
    60 @@ -347,7 +351,7 @@
    61                             will get notifications of new published items.
    62          @type subscriber: L{JID}
    63          """
    64 -        request = _PubSubRequest(self.xmlstream, 'subscribe')
    65 +        request = _PubSubRequest(self.xmlstream, 'subscribe', sender=sender)
    66          if nodeIdentifier:
    67              request.command['node'] = nodeIdentifier
    68          request.command['jid'] = subscriber.full()
    69 @@ -368,7 +372,7 @@
    70          return request.send(service).addCallback(cb)
     43@@ -662,6 +664,7 @@
     44         request.recipient = service
     45         request.nodeIdentifier = nodeIdentifier
     46         request.subscriber = subscriber
     47+        request.sender = sender
     48 
     49         def cb(iq):
     50             subscription = iq.pubsub.subscription["subscription"]
     51@@ -681,7 +684,7 @@
     52         return d
    7153 
    7254 
     
    7658         Unsubscribe from a publish subscribe node.
    7759 
    78 @@ -379,14 +383,14 @@
    79          @param subscriber: The entity to unsubscribe from the node.
    80          @type subscriber: L{JID}
    81          """
    82 -        request = _PubSubRequest(self.xmlstream, 'unsubscribe')
    83 +        request = _PubSubRequest(self.xmlstream, 'unsubscribe', sender=sender)
    84          if nodeIdentifier:
    85              request.command['node'] = nodeIdentifier
    86          request.command['jid'] = subscriber.full()
    87          return request.send(service)
     60@@ -696,10 +699,11 @@
     61         request.recipient = service
     62         request.nodeIdentifier = nodeIdentifier
     63         request.subscriber = subscriber
     64+        request.sender = sender
     65         return request.send(self.xmlstream)
    8866 
    8967 
     
    9371         Publish to a publish subscribe node.
    9472 
    95 @@ -397,7 +401,7 @@
    96          @param items: Optional list of L{Item}s to publish.
    97          @type items: C{list}
    98          """
    99 -        request = _PubSubRequest(self.xmlstream, 'publish')
    100 +        request = _PubSubRequest(self.xmlstream, 'publish', sender=sender)
    101          request.command['node'] = nodeIdentifier
    102          if items:
    103              for item in items:
    104 @@ -406,7 +410,7 @@
    105          return request.send(service)
     73@@ -714,10 +718,11 @@
     74         request.recipient = service
     75         request.nodeIdentifier = nodeIdentifier
     76         request.items = items
     77+        request.sender = sender
     78         return request.send(self.xmlstream)
    10679 
    10780 
     
    11184         Retrieve previously published items from a publish subscribe node.
    11285 
    113 @@ -417,7 +421,8 @@
    114          @param maxItems: Optional limit on the number of retrieved items.
    115          @type maxItems: C{int}
    116          """
    117 -        request = _PubSubRequest(self.xmlstream, 'items', method='get')
    118 +        request = _PubSubRequest(self.xmlstream, 'items', method='get',
    119 +                                 sender=sender)
    120          if nodeIdentifier:
    121              request.command['node'] = nodeIdentifier
     86@@ -733,6 +738,7 @@
     87         request.nodeIdentifier = nodeIdentifier
    12288         if maxItems:
     89             request.maxItems = str(int(maxItems))
     90+        request.sender = sender
     91 
     92         def cb(iq):
     93             items = []
     94diff -r 8be0600d2c32 wokkel/test/test_pubsub.py
     95--- a/wokkel/test/test_pubsub.py        Mon Mar 23 09:00:16 2009 +0100
     96+++ b/wokkel/test/test_pubsub.py        Mon Mar 23 09:00:24 2009 +0100
     97@@ -257,6 +257,22 @@
     98         return d
     99 
     100 
     101+    def test_createNodeWithSender(self):
     102+        """
     103+        Test sending create request from a specific JID.
     104+        """
     105+
     106+        d = self.protocol.createNode(JID('pubsub.example.org'), 'test',
     107+                                     sender=JID('user@example.org'))
     108+
     109+        iq = self.stub.output[-1]
     110+        self.assertEquals('user@example.org', iq['from'])
     111+
     112+        response = toResponse(iq, 'result')
     113+        self.stub.send(response)
     114+        return d
     115+
     116+
     117     def test_deleteNode(self):
     118         """
     119         Test sending delete request.
     120@@ -280,6 +296,22 @@
     121         return d
     122 
     123 
     124+    def test_deleteNodeWithSender(self):
     125+        """
     126+        Test sending delete request.
     127+        """
     128+
     129+        d = self.protocol.deleteNode(JID('pubsub.example.org'), 'test',
     130+                                     sender=JID('user@example.org'))
     131+
     132+        iq = self.stub.output[-1]
     133+        self.assertEquals('user@example.org', iq['from'])
     134+
     135+        response = toResponse(iq, 'result')
     136+        self.stub.send(response)
     137+        return d
     138+
     139+
     140     def test_publish(self):
     141         """
     142         Test sending publish request.
     143@@ -331,6 +363,23 @@
     144         return d
     145 
     146 
     147+    def test_publishWithSender(self):
     148+        """
     149+        Test sending publish request from a specific JID.
     150+        """
     151+
     152+        item = pubsub.Item()
     153+        d = self.protocol.publish(JID('pubsub.example.org'), 'test', [item],
     154+                                  JID('user@example.org'))
     155+
     156+        iq = self.stub.output[-1]
     157+        self.assertEquals('user@example.org', iq['from'])
     158+
     159+        response = toResponse(iq, 'result')
     160+        self.stub.send(response)
     161+        return d
     162+
     163+
     164     def test_subscribe(self):
     165         """
     166         Test sending subscription request.
     167@@ -400,6 +449,27 @@
     168         return d
     169 
     170 
     171+    def test_subscribeWithSender(self):
     172+        """
     173+        Test sending subscription request from a specific JID.
     174+        """
     175+        d = self.protocol.subscribe(JID('pubsub.example.org'), 'test',
     176+                                      JID('user@example.org'),
     177+                                      sender=JID('user@example.org'))
     178+
     179+        iq = self.stub.output[-1]
     180+        self.assertEquals('user@example.org', iq['from'])
     181+
     182+        response = toResponse(iq, 'result')
     183+        pubsub = response.addElement((NS_PUBSUB, 'pubsub'))
     184+        subscription = pubsub.addElement('subscription')
     185+        subscription['node'] = 'test'
     186+        subscription['jid'] = 'user@example.org'
     187+        subscription['subscription'] = 'subscribed'
     188+        self.stub.send(response)
     189+        return d
     190+
     191+
     192     def test_unsubscribe(self):
     193         """
     194         Test sending unsubscription request.
     195@@ -423,6 +493,20 @@
     196         return d
     197 
     198 
     199+    def test_unsubscribeWithSender(self):
     200+        """
     201+        Test sending unsubscription request from a specific JID.
     202+        """
     203+        d = self.protocol.unsubscribe(JID('pubsub.example.org'), 'test',
     204+                                      JID('user@example.org'),
     205+                                      sender=JID('user@example.org'))
     206+
     207+        iq = self.stub.output[-1]
     208+        self.assertEquals('user@example.org', iq['from'])
     209+        self.stub.send(toResponse(iq, 'result'))
     210+        return d
     211+
     212+
     213     def test_items(self):
     214         """
     215         Test sending items request.
     216@@ -489,6 +573,25 @@
     217         return d
     218 
     219 
     220+    def test_itemsWithSender(self):
     221+        """
     222+        Test sending items request from a specific JID.
     223+        """
     224+
     225+        d = self.protocol.items(JID('pubsub.example.org'), 'test',
     226+                               sender=JID('user@example.org'))
     227+
     228+        iq = self.stub.output[-1]
     229+        self.assertEquals('user@example.org', iq['from'])
     230+
     231+        response = toResponse(iq, 'result')
     232+        items = response.addElement((NS_PUBSUB, 'pubsub')).addElement('items')
     233+        items['node'] = 'test'
     234+
     235+        self.stub.send(response)
     236+        return d
     237+
     238+
     239 
     240 class PubSubServiceTest(unittest.TestCase, TestableRequestHandlerMixin):
     241     """
Note: See TracChangeset for help on using the changeset viewer.