diff options
-rw-r--r-- | sleekxmpp/__init__.py | 8 | ||||
-rw-r--r-- | sleekxmpp/stanza/atom.py | 11 |
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 = {} |