diff sat/plugins/plugin_xep_0300.py @ 3916:40d47cc29ea4

plugin XEP-0300: type hints
author Goffi <goffi@goffi.org>
date Thu, 06 Oct 2022 15:19:08 +0200
parents be6d91572633
children 524856bd7b19
line wrap: on
line diff
--- a/sat/plugins/plugin_xep_0300.py	Thu Oct 06 14:59:49 2022 +0200
+++ b/sat/plugins/plugin_xep_0300.py	Thu Oct 06 15:19:08 2022 +0200
@@ -17,21 +17,24 @@
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+from typing import Tuple
+import base64
+from collections import OrderedDict
+import hashlib
+
+from twisted.internet import threads
+from twisted.internet import defer
+from twisted.words.protocols.jabber.xmlstream import XMPPHandler
+from twisted.words.xish import domish
+from wokkel import disco, iwokkel
+from zope.interface import implementer
+
+from sat.core import exceptions
+from sat.core.constants import Const as C
 from sat.core.i18n import _
-from sat.core.constants import Const as C
 from sat.core.log import getLogger
 
 log = getLogger(__name__)
-from sat.core import exceptions
-from twisted.words.xish import domish
-from twisted.words.protocols.jabber.xmlstream import XMPPHandler
-from twisted.internet import threads
-from twisted.internet import defer
-from zope.interface import implementer
-from wokkel import disco, iwokkel
-from collections import OrderedDict
-import hashlib
-import base64
 
 
 PLUGIN_INFO = {
@@ -61,6 +64,7 @@
             ("sha-512", hashlib.sha512),
         )
     )
+    ALGO_DEFAULT = ALGO_DEFAULT
 
     def __init__(self, host):
         log.info(_("plugin Hashes initialization"))
@@ -176,12 +180,12 @@
         hash_elt["algo"] = algo
         return hash_elt
 
-    def parseHashElt(self, parent):
+    def parseHashElt(self, parent: domish.Element) -> Tuple[str, bytes]:
         """Find and parse a hash element
 
         if multiple elements are found, the strongest managed one is returned
-        @param (domish.Element): parent of <hash/> element
-        @return (tuple[str, bytes]): (algo, hash) tuple
+        @param parent: parent of <hash/> element
+        @return: (algo, hash) tuple
             both values can be None if <hash/> is empty
         @raise exceptions.NotFound: the element is not present
         @raise exceptions.DataError: the element is invalid