Mercurial > libervia-backend
diff stubs/twisted/words/xish/domish.pyi @ 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 | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/stubs/twisted/words/xish/domish.pyi Tue Aug 23 21:06:24 2022 +0200 @@ -0,0 +1,80 @@ +from typing import ( + Dict, Iterator, List, Literal, Optional, Tuple, TypeVar, Union, overload +) + + +URI = str +Name = str +QName = Tuple[Optional[URI], Name] +AttributeKey = Union[QName, Name] +Attributes = Dict[AttributeKey, str] +Prefix = str + + +D = TypeVar("D") + + +# Note: these typings are incomplete and evolve as needed. +class Element: + uri: Optional[URI] + name: Name + defaultUri: Optional[URI] + children: List[Union["Element", str]] + attributes: Attributes + + def __init__( + self, + qname: QName, + defaultUri: Optional[URI] = None, + attribs: Optional[Attributes] = None, + localPrefixes: Optional[Dict[URI, Prefix]] = None + ) -> None: + ... + + def __getitem__(self, key: AttributeKey) -> str: + ... + + def __setitem__(self, key: AttributeKey, value: str) -> None: + ... + + @overload + def getAttribute( + self, + attribname: AttributeKey, + default: None = None + ) -> Union[str, None]: + ... + + @overload + def getAttribute(self, attribname: AttributeKey, default: D) -> Union[str, D]: + ... + + def addChild(self, node: "Element") -> "Element": + ... + + def addContent(self, text: str) -> str: + ... + + def addElement( + self, + name: Union[QName, Name], + defaultUri: Optional[URI] = None, + content: Optional[str] = None + ) -> "Element": + ... + + def elements( + self, + uri: Optional[URI] = None, + name: Optional[Name] = None + ) -> Iterator["Element"]: + ... + + def toXml( + self, + prefixes: Optional[Dict[URI, Prefix]] = None, + closeElement: Literal[0, 1] = 1, + defaultUri: str = "", + prefixesInScope: Optional[List[Prefix]] = None + ) -> str: + ...