summaryrefslogtreecommitdiff
path: root/sleekxmpp/plugins/xep_0297/stanza.py
diff options
context:
space:
mode:
authorLance Stout <lancestout@gmail.com>2012-09-24 22:59:19 -0700
committerLance Stout <lancestout@gmail.com>2012-09-24 22:59:19 -0700
commitdfff19ffbfecae9817437121ed1d8bfb9d847800 (patch)
tree81c958c73763ad3e497da7ee6b626de274e5cf37 /sleekxmpp/plugins/xep_0297/stanza.py
parenta4abdf9fa6bf3aa8f1394fb5aa57632211a4705d (diff)
downloadslixmpp-dfff19ffbfecae9817437121ed1d8bfb9d847800.tar.gz
slixmpp-dfff19ffbfecae9817437121ed1d8bfb9d847800.tar.bz2
slixmpp-dfff19ffbfecae9817437121ed1d8bfb9d847800.tar.xz
slixmpp-dfff19ffbfecae9817437121ed1d8bfb9d847800.zip
Add XEP-0297: Stanza Forwarding support
Diffstat (limited to 'sleekxmpp/plugins/xep_0297/stanza.py')
-rw-r--r--sleekxmpp/plugins/xep_0297/stanza.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/sleekxmpp/plugins/xep_0297/stanza.py b/sleekxmpp/plugins/xep_0297/stanza.py
new file mode 100644
index 00000000..1cf02f74
--- /dev/null
+++ b/sleekxmpp/plugins/xep_0297/stanza.py
@@ -0,0 +1,34 @@
+"""
+ SleekXMPP: The Sleek XMPP Library
+ Copyright (C) 2012 Nathanael C. Fritz, Lance J.T. Stout
+ This file is part of SleekXMPP.
+
+ See the file LICENSE for copying permission.
+"""
+
+from sleekxmpp.xmlstream import ElementBase
+
+
+class Forwarded(ElementBase):
+ name = 'forwarded'
+ namespace = 'urn:xmpp:forward:0'
+ plugin_attrib = 'forwarded'
+ interfaces = set(['stanza'])
+
+ def get_stanza(self):
+ if self.xml.find('{jabber:client}message') is not None:
+ return self['message']
+ elif self.xml.find('{jabber:client}presence') is not None:
+ return self['presence']
+ elif self.xml.find('{jabber:client}iq') is not None:
+ return self['iq']
+ return ''
+
+ def set_stanza(self, value):
+ self.del_stanza()
+ self.append(value)
+
+ def del_stanza(self):
+ del self['message']
+ del self['presence']
+ del self['iq']