Philipp Hörist pushed to branch master at gajim / python-nbxmpp


Commits:
6e1bf194 by Kim Alvefur at 2021-11-01T19:10:49+01:00
PubSub: Add support for purging nodes

- - - - -
cd1c3a3c by Kim Alvefur at 2021-11-01T19:12:25+01:00
UserAvatar: Purge instead of of delete Avatar data nodes

Leaves any node configuration intact

- - - - -


2 changed files:

- nbxmpp/modules/pubsub.py
- nbxmpp/modules/user_avatar.py


Changes:

=====================================
nbxmpp/modules/pubsub.py
=====================================
@@ -188,6 +188,13 @@ class PubSub(BaseModule):
         response = yield _make_retract_request(node, id_, jid, notify)
         yield process_response(response)
 
+    @iq_request_task
+    def purge(self, node, jid=None):
+        _task = yield
+
+        response = yield _make_purge_request(node, jid)
+        yield process_response(response)
+
     @iq_request_task
     def delete(self, node, jid=None):
         _task = yield
@@ -400,6 +407,14 @@ def _make_retract_request(node, id_, jid, notify):
     return query
 
 
+def _make_purge_request(node, jid):
+    query = Iq('set', to=jid)
+    pubsub = query.addChild('pubsub', namespace=Namespace.PUBSUB_OWNER)
+
+    pubsub.addChild('purge', attrs={'node': node})
+    return query
+
+
 def _make_delete_request(node, jid):
     query = Iq('set', to=jid)
     pubsub = query.addChild('pubsub', namespace=Namespace.PUBSUB_OWNER)


=====================================
nbxmpp/modules/user_avatar.py
=====================================
@@ -42,7 +42,7 @@ class UserAvatar(BaseModule):
         'publish': 'PubSub',
         'request_item': 'PubSub',
         'request_items': 'PubSub',
-        'delete': 'PubSub',
+        'purge': 'PubSub',
     }
 
     def __init__(self, client):
@@ -141,7 +141,7 @@ class UserAvatar(BaseModule):
             result = yield self._publish_avatar_metadata(None, access_model)
             raise_if_error(result)
 
-            result = yield self.delete(Namespace.AVATAR_DATA)
+            result = yield self.purge(Namespace.AVATAR_DATA)
             yield finalize(task, result)
 
         result = yield self._publish_avatar(avatar, access_model)



View it on GitLab: 
https://dev.gajim.org/gajim/python-nbxmpp/-/compare/6f8890d74968119c12969dd82ee5cf399d62583f...cd1c3a3c735826d3d5c45e47ac4839a36994291a

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/python-nbxmpp/-/compare/6f8890d74968119c12969dd82ee5cf399d62583f...cd1c3a3c735826d3d5c45e47ac4839a36994291a
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list
Commits@gajim.org
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to