summaryrefslogtreecommitdiff
path: root/sleekxmpp/stanza
diff options
context:
space:
mode:
authorNathan Fritz <fritzy@netflint.net>2009-12-10 01:23:03 +0000
committerNathan Fritz <fritzy@netflint.net>2009-12-10 01:23:03 +0000
commit007b04dd3086a0b02865c924022db70bbd47445e (patch)
tree664e27d3bea780e88ebc4cc6ac3c4014a654c056 /sleekxmpp/stanza
parent6be17ebbe27c17da01abe4fe1134e070c6ee632f (diff)
downloadslixmpp-007b04dd3086a0b02865c924022db70bbd47445e.tar.gz
slixmpp-007b04dd3086a0b02865c924022db70bbd47445e.tar.bz2
slixmpp-007b04dd3086a0b02865c924022db70bbd47445e.tar.xz
slixmpp-007b04dd3086a0b02865c924022db70bbd47445e.zip
* added proper message and iq stanzas. presence left to do
Diffstat (limited to 'sleekxmpp/stanza')
-rw-r--r--sleekxmpp/stanza/iq.py39
-rw-r--r--sleekxmpp/stanza/message.py39
2 files changed, 78 insertions, 0 deletions
diff --git a/sleekxmpp/stanza/iq.py b/sleekxmpp/stanza/iq.py
index e69de29b..eece37bd 100644
--- a/sleekxmpp/stanza/iq.py
+++ b/sleekxmpp/stanza/iq.py
@@ -0,0 +1,39 @@
+from .. xmlstream.stanzabase import StanzaBase
+from xml.etree import cElementTree as ET
+
+class Iq(StanzaBase):
+ interfaces = set(('type', 'to', 'from', 'id', 'body', 'subject'))
+ types = set(('get', 'result', 'set', 'error'))
+ name = 'iq'
+ namespace = 'jabber:client'
+
+ def __init__(self, *args, **kwargs):
+ StanzaBase.__init__(self, *args, **kwargs)
+ if self['id'] == '':
+ self['id'] = self.stream.getId()
+ print("________LOADED IQ CLASS")
+
+ def result(self):
+ self['type'] = 'result'
+ return self
+
+ def set(self):
+ self['type'] = 'set'
+ return self
+
+ def error(self):
+ #TODO add error payloads
+ self['type'] = 'error'
+ return self
+
+ def get(self):
+ self['type'] = 'get'
+ return self
+
+ def setPayload(self, value):
+ self.clear()
+ StanzaBase.setPayload(self, value)
+
+ def unhandled(self):
+ pass
+ # returned unhandled error
diff --git a/sleekxmpp/stanza/message.py b/sleekxmpp/stanza/message.py
index e69de29b..37e2e5f3 100644
--- a/sleekxmpp/stanza/message.py
+++ b/sleekxmpp/stanza/message.py
@@ -0,0 +1,39 @@
+from .. xmlstream.stanzabase import StanzaBase
+from xml.etree import cElementTree as ET
+
+class Message(StanzaBase):
+ interfaces = set(('type', 'to', 'from', 'id', 'body', 'subject'))
+ types = set((None, 'normal', 'chat', 'headline', 'error'))
+ sub_interfaces = set(('body', 'subject'))
+ name = 'message'
+ namespace = 'jabber:client'
+
+ def getType(self):
+ return self.xml.attrib.get('type', 'normal')
+
+ def chat(self):
+ self['type'] = 'chat'
+ return self
+
+ def normal(self):
+ self['type'] = 'normal'
+ return self
+
+if __name__ == '__main__':
+ m = Message()
+ m['to'] = 'me'
+ m['from'] = 'you'
+ m['type'] = 'chat'
+ m.reply()
+ m['body'] = 'Hello there!'
+ m['subject'] = 'whatever'
+ m['id'] = 'abc'
+ print(str(m))
+ print(m['body'])
+ print(m['subject'])
+ print(m['id'])
+ m['type'] = None
+ m['body'] = None
+ m['id'] = None
+ print(str(m))
+ print(m['type'])