Mercurial > libervia-backend
comparison src/plugins/plugin_xep_0033.py @ 787:dd656d745d6a
test: added tests for XEP-0033
author | souliane <souliane@mailoo.org> |
---|---|
date | Sun, 05 Jan 2014 13:05:31 +0100 |
parents | ff9a52077b36 |
children | 1fe00f0c9a91 |
comparison
equal
deleted
inserted
replaced
786:c3acc1298a2f | 787:dd656d745d6a |
---|---|
94 entries = [entry.split(':') for entry in mess_data['extra']['address'].split('\n') if entry != ''] | 94 entries = [entry.split(':') for entry in mess_data['extra']['address'].split('\n') if entry != ''] |
95 for type_, jid_ in entries: | 95 for type_, jid_ in entries: |
96 element.addChild(domish.Element((None, 'address'), None, {'type': type_, 'jid': jid_})) | 96 element.addChild(domish.Element((None, 'address'), None, {'type': type_, 'jid': jid_})) |
97 # when the prosody plugin is completed, we can immediately return mess_data from here | 97 # when the prosody plugin is completed, we can immediately return mess_data from here |
98 self.sendAndStoreMessage(mess_data, entries, profile) | 98 self.sendAndStoreMessage(mess_data, entries, profile) |
99 return Failure(MessageSentAndStored("XEP-0033 took over")) | 99 return Failure(MessageSentAndStored("XEP-0033 took over", mess_data)) |
100 d = self.host.requestServerDisco(NS_ADDRESS, profile_key=profile) | 100 d = self.host.requestServerDisco(NS_ADDRESS, profile_key=profile) |
101 d.addCallbacks(discoCallback, lambda dummy: discoCallback(None)) | 101 d.addCallbacks(discoCallback, lambda dummy: discoCallback(None)) |
102 return d | 102 return d |
103 | 103 |
104 treatments.addCallback(treatment) | 104 treatments.addCallback(treatment) |
149 def messageReceivedTrigger(self, message, post_treat, profile): | 149 def messageReceivedTrigger(self, message, post_treat, profile): |
150 """In order to save the addressing information in the history""" | 150 """In order to save the addressing information in the history""" |
151 def post_treat_addr(data, addresses): | 151 def post_treat_addr(data, addresses): |
152 data['extra']['addresses'] = "" | 152 data['extra']['addresses'] = "" |
153 for address in addresses: | 153 for address in addresses: |
154 data['extra']['addresses'] += '%s:%s\n' % (address['type'], address['jid']) | 154 # Depending how message has been constructed, we could get here |
155 # some noise like "\n " instead of an address element. | |
156 if isinstance(address, domish.Element): | |
157 data['extra']['addresses'] += '%s:%s\n' % (address['type'], address['jid']) | |
155 return data | 158 return data |
156 | 159 |
157 try: | 160 try: |
158 addresses = message.elements(NS_ADDRESS, 'addresses').next() | 161 addresses = message.elements(NS_ADDRESS, 'addresses').next() |
159 post_treat.addCallback(post_treat_addr, addresses.children) | 162 post_treat.addCallback(post_treat_addr, addresses.children) |