From 7772e26a8c766c2606b40f4260e406cd3ed56435 Mon Sep 17 00:00:00 2001 From: mathieui Date: Sun, 14 Feb 2021 11:38:44 +0100 Subject: XEP-0027: API changes - ``get_keyids`` and ``get_keyid`` are now coroutines. - ``set_keyid`` and ``del_keyid`` now return a Future. --- slixmpp/plugins/xep_0027/gpg.py | 41 +++++++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 8 deletions(-) (limited to 'slixmpp/plugins') diff --git a/slixmpp/plugins/xep_0027/gpg.py b/slixmpp/plugins/xep_0027/gpg.py index af5df044..61da7ff0 100644 --- a/slixmpp/plugins/xep_0027/gpg.py +++ b/slixmpp/plugins/xep_0027/gpg.py @@ -5,9 +5,11 @@ # See the file LICENSE for copying permission. from slixmpp.thirdparty import GPG +from asyncio import Future + from slixmpp.stanza import Presence, Message -from slixmpp.plugins.base import BasePlugin, register_plugin -from slixmpp.xmlstream import ElementBase, register_stanza_plugin +from slixmpp.plugins.base import BasePlugin +from slixmpp.xmlstream import register_stanza_plugin from slixmpp.xmlstream.handler import Callback from slixmpp.xmlstream.matcher import StanzaPath from slixmpp.plugins.xep_0027 import stanza, Signed, Encrypted @@ -32,6 +34,9 @@ def _extract_data(data, kind): class XEP_0027(BasePlugin): + """ + XEP-0027: Current Jabber OpenPGP Usage + """ name = 'xep_0027' description = 'XEP-0027: Current Jabber OpenPGP Usage' @@ -122,16 +127,36 @@ class XEP_0027(BasePlugin): v = self.gpg.verify(template % (data, sig)) return v - def set_keyid(self, jid=None, keyid=None): - self.api['set_keyid'](jid, args=keyid) + def set_keyid(self, jid=None, keyid=None) -> Future: + """Set a keyid for a specific JID. + + .. versionchanged:: 1.8.0 + This function now returns a Future. + """ + return self.api['set_keyid'](jid, args=keyid) + + def get_keyid(self, jid=None) -> Future: + """Get a keyid for a jid. - def get_keyid(self, jid=None): + .. versionchanged:: 1.8.0 + This function now returns a Future. + """ return self.api['get_keyid'](jid) - def del_keyid(self, jid=None): - self.api['del_keyid'](jid) + def del_keyid(self, jid=None) -> Future: + """Delete a keyid. + + .. versionchanged:: 1.8.0 + This function now returns a Future. + """ + return self.api['del_keyid'](jid) + + def get_keyids(self) -> Future: + """Get stored keyids. - def get_keyids(self): + .. versionchanged:: 1.8.0 + This function now returns a Future. + """ return self.api['get_keyids']() def _handle_signed_presence(self, pres): -- cgit v1.2.3