From 007b04dd3086a0b02865c924022db70bbd47445e Mon Sep 17 00:00:00 2001 From: Nathan Fritz Date: Thu, 10 Dec 2009 01:23:03 +0000 Subject: * added proper message and iq stanzas. presence left to do --- sleekxmpp/stanza/iq.py | 39 +++++++++++++++++++++++++++++++++++++++ sleekxmpp/stanza/message.py | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) (limited to 'sleekxmpp/stanza') 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']) -- cgit v1.2.3