Mercurial > libervia-backend
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"))