summaryrefslogtreecommitdiff
path: root/sleekxmpp
diff options
context:
space:
mode:
authorNathan Fritz <nathan@andyet.net>2010-04-14 01:23:17 -0700
committerNathan Fritz <nathan@andyet.net>2010-04-14 01:23:17 -0700
commit80e7e0d0ee45acf5641f630c0f858a91cbf1a222 (patch)
treec8dad5af2fcd57c24e7f0ebe2f9284a171a19c1f /sleekxmpp
parent2f9f649d98682817c900736c6775ba8e5b23060f (diff)
downloadslixmpp-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.py34
-rw-r--r--sleekxmpp/stanza/iq.py1
-rw-r--r--sleekxmpp/stanza/message.py1
-rw-r--r--sleekxmpp/stanza/presence.py1
-rw-r--r--sleekxmpp/xmlstream/stanzabase.py6
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']