diff options
author | Robert Robinson <rerobins@gmail.com> | 2015-09-18 13:30:30 -0600 |
---|---|---|
committer | Robert Robinson <rerobins@gmail.com> | 2015-09-18 13:30:30 -0600 |
commit | 5fc14de32e7fbd4e33a0e1ed92d8fb23871a2a2d (patch) | |
tree | d21287dbbb7882b766098e0a81c0d1d3677d28d3 /sleekxmpp/stanza | |
parent | e5582694c07236e6830c20361840360a1dde37f3 (diff) | |
parent | d245558fd5eeee4fa34731ccea47c4c3132d805f (diff) | |
download | slixmpp-5fc14de32e7fbd4e33a0e1ed92d8fb23871a2a2d.tar.gz slixmpp-5fc14de32e7fbd4e33a0e1ed92d8fb23871a2a2d.tar.bz2 slixmpp-5fc14de32e7fbd4e33a0e1ed92d8fb23871a2a2d.tar.xz slixmpp-5fc14de32e7fbd4e33a0e1ed92d8fb23871a2a2d.zip |
Merge pull request #3 from fritzy/develop
Merge to fritzy_master
Diffstat (limited to 'sleekxmpp/stanza')
-rw-r--r-- | sleekxmpp/stanza/atom.py | 25 | ||||
-rw-r--r-- | sleekxmpp/stanza/rootstanza.py | 4 |
2 files changed, 25 insertions, 4 deletions
diff --git a/sleekxmpp/stanza/atom.py b/sleekxmpp/stanza/atom.py index 244ef315..4e9591a5 100644 --- a/sleekxmpp/stanza/atom.py +++ b/sleekxmpp/stanza/atom.py @@ -6,8 +6,7 @@ See the file LICENSE for copying permission. """ -from sleekxmpp.xmlstream import ElementBase - +from sleekxmpp.xmlstream import register_stanza_plugin, ElementBase 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/sleekxmpp/stanza/rootstanza.py b/sleekxmpp/stanza/rootstanza.py index a7c2b218..52b807e5 100644 --- a/sleekxmpp/stanza/rootstanza.py +++ b/sleekxmpp/stanza/rootstanza.py @@ -60,7 +60,9 @@ class RootStanza(StanzaBase): self.send() elif isinstance(e, XMPPError): # We raised this deliberately + keep_id = self['id'] self.reply(clear=e.clear) + self['id'] = keep_id self['error']['condition'] = e.condition self['error']['text'] = e.text self['error']['type'] = e.etype @@ -72,7 +74,9 @@ class RootStanza(StanzaBase): self.send() else: # We probably didn't raise this on purpose, so send an error stanza + keep_id = self['id'] self.reply() + self['id'] = keep_id self['error']['condition'] = 'undefined-condition' self['error']['text'] = "SleekXMPP got into trouble." self['error']['type'] = 'cancel' |