diff sat/plugins/plugin_xep_0359.py @ 3911:8289ac1b34f4

plugin XEP-0384: Fully reworked to adjust to the reworked python-omemo: - support for both (modern) OMEMO under the `urn:xmpp:omemo:2` namespace and (legacy) OMEMO under the `eu.siacs.conversations.axolotl` namespace - maintains one identity across both versions of OMEMO - migrates data from the old plugin - includes more features for protocol stability - uses SCE for modern OMEMO - fully type-checked, linted and format-checked - added type hints to various pieces of backend code used by the plugin - added stubs for some Twisted APIs used by the plugin under stubs/ (use `export MYPYPATH=stubs/` before running mypy) - core (xmpp): enabled `send` trigger and made it an asyncPoint fix 375
author Syndace <me@syndace.dev>
date Tue, 23 Aug 2022 21:06:24 +0200
parents cc653b2685f0
children 524856bd7b19
line wrap: on
line diff
--- a/sat/plugins/plugin_xep_0359.py	Thu Sep 22 12:03:12 2022 +0200
+++ b/sat/plugins/plugin_xep_0359.py	Tue Aug 23 21:06:24 2022 +0200
@@ -18,6 +18,7 @@
 # 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 Optional
 import uuid
 from zope.interface import implementer
 from twisted.words.protocols.jabber import xmlstream
@@ -26,6 +27,7 @@
 from sat.core import exceptions
 from sat.core.i18n import _
 from sat.core.log import getLogger
+from twisted.words.xish import domish
 
 log = getLogger(__name__)
 
@@ -101,11 +103,11 @@
         sid_elt["by"] = client.jid.userhost() if by is None else by.userhost()
         sid_elt["id"] = stanza_id
 
-    def getOriginId(self, element):
+    def getOriginId(self, element: domish.Element) -> Optional[str]:
         """Return origin-id if found in element
 
-        @param element(domish.Element): element to parse
-        @return (unicode, None): origin-id if found
+        @param element: element to parse
+        @return: origin-id if found
         """
         try:
             origin_elt = next(element.elements(NS_SID, "origin-id"))