diff options
author | Nathan Fritz <fritzy@netflint.net> | 2009-06-03 22:56:51 +0000 |
---|---|---|
committer | Nathan Fritz <fritzy@netflint.net> | 2009-06-03 22:56:51 +0000 |
commit | 96b103b27599e5af247c1e3b95d62c80c1e32a63 (patch) | |
tree | 0527b1607b16adb020759ee9a944e1b22e3e0e6b /sleekxmpp/xmlstream/stanzabase.py | |
download | slixmpp-96b103b27599e5af247c1e3b95d62c80c1e32a63.tar.gz slixmpp-96b103b27599e5af247c1e3b95d62c80c1e32a63.tar.bz2 slixmpp-96b103b27599e5af247c1e3b95d62c80c1e32a63.tar.xz slixmpp-96b103b27599e5af247c1e3b95d62c80c1e32a63.zip |
moved seesmic branch to trunk
Diffstat (limited to 'sleekxmpp/xmlstream/stanzabase.py')
-rw-r--r-- | sleekxmpp/xmlstream/stanzabase.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/sleekxmpp/xmlstream/stanzabase.py b/sleekxmpp/xmlstream/stanzabase.py new file mode 100644 index 00000000..5232ff5e --- /dev/null +++ b/sleekxmpp/xmlstream/stanzabase.py @@ -0,0 +1,37 @@ +from __future__ import absolute_import +from sleekxmpp.xmlstream.matcher.xpath import MatchXPath + +class StanzaBase(object): + + MATCHER = MatchXPath("") + + def __init__(self, stream, xml=None, extensions=[]): + self.extensions = extensions + self.p = {} #plugins + + self.xml = xml + self.stream = stream + if xml is not None: + self.fromXML(xml) + + def fromXML(self, xml): + "Initialize based on incoming XML" + self._processXML(xml) + for ext in self.extensions: + ext.fromXML(self, xml) + + + def _processXML(self, xml, cur_ns=''): + if '}' in xml.tag: + ns,tag = xml.tag[1:].split('}') + else: + tag = xml.tag + + def toXML(self, xml): + "Set outgoing XML" + + def extend(self, extension_class, xml=None): + "Initialize extension" + + def match(self, xml): + return self.MATCHER.match(xml) |