summaryrefslogtreecommitdiff
path: root/sleekxmpp
diff options
context:
space:
mode:
Diffstat (limited to 'sleekxmpp')
-rw-r--r--sleekxmpp/__init__.py8
-rw-r--r--sleekxmpp/stanza/atom.py11
2 files changed, 18 insertions, 1 deletions
diff --git a/sleekxmpp/__init__.py b/sleekxmpp/__init__.py
index ccb43522..df0af09c 100644
--- a/sleekxmpp/__init__.py
+++ b/sleekxmpp/__init__.py
@@ -146,10 +146,16 @@ class ClientXMPP(basexmpp, XMLStream):
def updateRoster(self, jid, name=None, subscription=None, groups=[]):
"""Add or change a roster item."""
iq = self.Iq().setValues({'type': 'set'})
- iq['roster'] = {jid: {'name': name, 'subscription': subscription, 'groups': groups}}
+ iq['roster']['items'] = {jid: {'name': name, 'subscription': subscription, 'groups': groups}}
#self.send(iq, self.Iq().setValues({'id': iq['id']}))
r = iq.send()
return r['type'] == 'result'
+
+ def delRosterItem(self, jid):
+ iq = self.Iq()
+ iq['type'] = 'set'
+ iq['roster']['items'] = {jid: {'subscription': 'remove'}}
+ return iq.send()['type'] == 'result'
def getRoster(self):
"""Request the roster be sent."""
diff --git a/sleekxmpp/stanza/atom.py b/sleekxmpp/stanza/atom.py
new file mode 100644
index 00000000..5e82cb98
--- /dev/null
+++ b/sleekxmpp/stanza/atom.py
@@ -0,0 +1,11 @@
+from .. xmlstream.stanzabase import ElementBase, ET, JID
+from xml.etree import cElementTree as ET
+
+class AtomEntry(ElementBase):
+ namespace = 'http://www.w3.org/2005/Atom'
+ name = 'entry'
+ plugin_attrib = 'entry'
+ interfaces = set(('title', 'summary'))
+ sub_interfaces = set(('title', 'summary'))
+ plugin_attrib_map = {}
+ plugin_tag_map = {}