diff options
author | Nathan Fritz <nathan@andyet.net> | 2010-04-14 01:23:17 -0700 |
---|---|---|
committer | Nathan Fritz <nathan@andyet.net> | 2010-04-14 01:23:17 -0700 |
commit | 80e7e0d0ee45acf5641f630c0f858a91cbf1a222 (patch) | |
tree | c8dad5af2fcd57c24e7f0ebe2f9284a171a19c1f /sleekxmpp | |
parent | 2f9f649d98682817c900736c6775ba8e5b23060f (diff) | |
download | slixmpp-80e7e0d0ee45acf5641f630c0f858a91cbf1a222.tar.gz slixmpp-80e7e0d0ee45acf5641f630c0f858a91cbf1a222.tar.bz2 slixmpp-80e7e0d0ee45acf5641f630c0f858a91cbf1a222.tar.xz slixmpp-80e7e0d0ee45acf5641f630c0f858a91cbf1a222.zip |
adding tests, fixed stanzapath matching to match keys, fixed pubsub#owner stanzas
Diffstat (limited to 'sleekxmpp')
-rw-r--r-- | sleekxmpp/plugins/stanza_pubsub.py | 34 | ||||
-rw-r--r-- | sleekxmpp/stanza/iq.py | 1 | ||||
-rw-r--r-- | sleekxmpp/stanza/message.py | 1 | ||||
-rw-r--r-- | sleekxmpp/stanza/presence.py | 1 | ||||
-rw-r--r-- | sleekxmpp/xmlstream/stanzabase.py | 6 |
5 files changed, 7 insertions, 36 deletions
diff --git a/sleekxmpp/plugins/stanza_pubsub.py b/sleekxmpp/plugins/stanza_pubsub.py index 09cff88a..1d8c86f2 100644 --- a/sleekxmpp/plugins/stanza_pubsub.py +++ b/sleekxmpp/plugins/stanza_pubsub.py @@ -286,39 +286,6 @@ stanzaPlugin(Pubsub, Configure) stanzaPlugin(Create, Configure) class DefaultConfig(ElementBase): - namespace = 'http://jabber.org/protocol/pubsub' - name = 'default' - plugin_attrib = 'default' - interfaces = set(('node', 'type', 'config')) - plugin_attrib_map = {} - plugin_tag_map = {} - - def __init__(self, *args, **kwargs): - ElementBase.__init__(self, *args, **kwargs) - - def getConfig(self): - config = self.xml.find('{jabber:x:data}x') - form = xep_0004.Form() - if config is not None: - form.fromXML(config) - return form - - def setConfig(self, value): - self.xml.append(value.getXML()) - return self - - def delConfig(self): - config = self.xml.find('{jabber:x:data}x') - self.xml.remove(config) - - def getType(self): - t = self._getAttr('type') - if not t: t == 'leaf' - return t - -stanzaPlugin(Pubsub, DefaultConfig) - -class DefaultConfigOwner(ElementBase): namespace = 'http://jabber.org/protocol/pubsub#owner' name = 'default' plugin_attrib = 'default' @@ -440,6 +407,7 @@ class OwnerDelete(ElementBase, OptionalSetting): plugin_attrib = 'delete' plugin_attrib_map = {} plugin_tag_map = {} + interfaces = set(('node',)) stanzaPlugin(PubsubOwner, OwnerDelete) diff --git a/sleekxmpp/stanza/iq.py b/sleekxmpp/stanza/iq.py index 8d91c83e..4969b703 100644 --- a/sleekxmpp/stanza/iq.py +++ b/sleekxmpp/stanza/iq.py @@ -16,6 +16,7 @@ class Iq(RootStanza): interfaces = set(('type', 'to', 'from', 'id','query')) types = set(('get', 'result', 'set', 'error')) name = 'iq' + plugin_attrib = name namespace = 'jabber:client' def __init__(self, *args, **kwargs): diff --git a/sleekxmpp/stanza/message.py b/sleekxmpp/stanza/message.py index 9c2bf30e..38341809 100644 --- a/sleekxmpp/stanza/message.py +++ b/sleekxmpp/stanza/message.py @@ -15,6 +15,7 @@ class Message(RootStanza): types = set((None, 'normal', 'chat', 'headline', 'error', 'groupchat')) sub_interfaces = set(('body', 'subject')) name = 'message' + plugin_attrib = name namespace = 'jabber:client' def getType(self): diff --git a/sleekxmpp/stanza/presence.py b/sleekxmpp/stanza/presence.py index 55f4047f..c66246c9 100644 --- a/sleekxmpp/stanza/presence.py +++ b/sleekxmpp/stanza/presence.py @@ -16,6 +16,7 @@ class Presence(RootStanza): showtypes = set(('dnd', 'chat', 'xa', 'away')) sub_interfaces = set(('status', 'priority')) name = 'presence' + plugin_attrib = name namespace = 'jabber:client' def getShowElement(self): diff --git a/sleekxmpp/xmlstream/stanzabase.py b/sleekxmpp/xmlstream/stanzabase.py index acb95786..6ed5cbd0 100644 --- a/sleekxmpp/xmlstream/stanzabase.py +++ b/sleekxmpp/xmlstream/stanzabase.py @@ -117,7 +117,7 @@ class ElementBase(tostring.ToString): else: nodes = matchstring tagargs = nodes[0].split('@') - if tagargs[0] not in (self.plugins, self.name): return False + if tagargs[0] not in (self.plugins, self.plugin_attrib): return False founditerable = False for iterable in self.iterables: founditerable = iterable.match(nodes[1:]) @@ -325,8 +325,8 @@ class StanzaBase(ElementBase): def clear(self): for child in self.xml.getchildren(): self.xml.remove(child) - #for plugin in list(self.plugins.keys()): - # del self.plugins[plugin] + for plugin in list(self.plugins.keys()): + del self.plugins[plugin] def reply(self): self['from'], self['to'] = self['to'], self['from'] |