summaryrefslogtreecommitdiff
path: root/sleekxmpp/plugins/xep_0297/stanza.py
diff options
context:
space:
mode:
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']