diff options
author | Nathan Fritz <fritzy@netflint.net> | 2009-12-10 01:23:03 +0000 |
---|---|---|
committer | Nathan Fritz <fritzy@netflint.net> | 2009-12-10 01:23:03 +0000 |
commit | 007b04dd3086a0b02865c924022db70bbd47445e (patch) | |
tree | 664e27d3bea780e88ebc4cc6ac3c4014a654c056 /sleekxmpp/stanza | |
parent | 6be17ebbe27c17da01abe4fe1134e070c6ee632f (diff) | |
download | slixmpp-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.py | 39 | ||||
-rw-r--r-- | sleekxmpp/stanza/message.py | 39 |
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']) |