diff options
author | mathieui <mathieui@mathieui.net> | 2015-09-23 23:14:26 +0200 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2015-10-02 19:00:19 +0200 |
commit | acc52fd935b7e74919ad748f3a630596f66c62af (patch) | |
tree | 2d8988c57a63b9cec11c4bf03240a427df9632f8 /slixmpp/stanza | |
parent | e42d651d7ed56375523f91076295fc5f388a8de0 (diff) | |
parent | 4305eddb4f634803423cd53d193125a63b00769a (diff) | |
download | slixmpp-acc52fd935b7e74919ad748f3a630596f66c62af.tar.gz slixmpp-acc52fd935b7e74919ad748f3a630596f66c62af.tar.bz2 slixmpp-acc52fd935b7e74919ad748f3a630596f66c62af.tar.xz slixmpp-acc52fd935b7e74919ad748f3a630596f66c62af.zip |
Merge branch 'develop' of https://github.com/fritzy/SleekXMPP into sleek-merge
Conflicts:
README.rst
examples/IoT_TestDevice.py
examples/disco_browser.py
setup.py
sleekxmpp/jid.py
sleekxmpp/plugins/google/auth/stanza.py
sleekxmpp/plugins/google/gmail/notifications.py
sleekxmpp/plugins/google/nosave/stanza.py
sleekxmpp/plugins/google/settings/settings.py
sleekxmpp/thirdparty/__init__.py
sleekxmpp/thirdparty/socks.py
sleekxmpp/thirdparty/statemachine.py
sleekxmpp/util/__init__.py
sleekxmpp/xmlstream/xmlstream.py
slixmpp/basexmpp.py
slixmpp/plugins/xep_0004/stanza/form.py
slixmpp/plugins/xep_0009/rpc.py
slixmpp/plugins/xep_0050/adhoc.py
slixmpp/plugins/xep_0065/proxy.py
slixmpp/plugins/xep_0084/stanza.py
slixmpp/plugins/xep_0202/time.py
slixmpp/plugins/xep_0323/sensordata.py
slixmpp/plugins/xep_0325/control.py
slixmpp/plugins/xep_0325/stanza/control.py
slixmpp/roster/single.py
slixmpp/stanza/atom.py
slixmpp/stanza/rootstanza.py
slixmpp/test/slixtest.py
slixmpp/util/sasl/mechanisms.py
slixmpp/version.py
slixmpp/xmlstream/stanzabase.py
tests/test_stanza_xep_0323.py
tests/test_stanza_xep_0325.py
tests/test_stream_xep_0323.py
tests/test_stream_xep_0325.py
Diffstat (limited to 'slixmpp/stanza')
-rw-r--r-- | slixmpp/stanza/atom.py | 25 | ||||
-rw-r--r-- | slixmpp/stanza/rootstanza.py | 4 |
2 files changed, 25 insertions, 4 deletions
diff --git a/slixmpp/stanza/atom.py b/slixmpp/stanza/atom.py index 2c105685..ccded724 100644 --- a/slixmpp/stanza/atom.py +++ b/slixmpp/stanza/atom.py @@ -6,8 +6,7 @@ See the file LICENSE for copying permission. """ -from slixmpp.xmlstream import ElementBase - +from slixmpp.xmlstream import ElementBase, register_stanza_plugin class AtomEntry(ElementBase): @@ -22,5 +21,23 @@ class AtomEntry(ElementBase): namespace = 'http://www.w3.org/2005/Atom' name = 'entry' plugin_attrib = 'entry' - interfaces = set(('title', 'summary')) - sub_interfaces = set(('title', 'summary')) + interfaces = set(('title', 'summary', 'id', 'published', 'updated')) + sub_interfaces = set(('title', 'summary', 'id', 'published', + 'updated')) + +class AtomAuthor(ElementBase): + + """ + An Atom author. + + Stanza Interface: + name -- The printable author name + uri -- The bare jid of the author + """ + + name = 'author' + plugin_attrib = 'author' + interfaces = set(('name', 'uri')) + sub_interfaces = set(('name', 'uri')) + +register_stanza_plugin(AtomEntry, AtomAuthor) diff --git a/slixmpp/stanza/rootstanza.py b/slixmpp/stanza/rootstanza.py index ff139382..a6dd958e 100644 --- a/slixmpp/stanza/rootstanza.py +++ b/slixmpp/stanza/rootstanza.py @@ -60,7 +60,9 @@ class RootStanza(StanzaBase): reply.send() elif isinstance(e, XMPPError): # We raised this deliberately + keep_id = self['id'] reply = self.reply(clear=e.clear) + reply['id'] = keep_id reply['error']['condition'] = e.condition reply['error']['text'] = e.text reply['error']['type'] = e.etype @@ -72,7 +74,9 @@ class RootStanza(StanzaBase): reply.send() else: # We probably didn't raise this on purpose, so send an error stanza + keep_id = self['id'] reply = self.reply() + reply['id'] = keep_id reply['error']['condition'] = 'undefined-condition' reply['error']['text'] = "Slixmpp got into trouble." reply['error']['type'] = 'cancel' |