diff --git a/gajim/common/modules/misc.py b/gajim/common/modules/misc.py index fdd6acacd38287bf1751cf60f1dc7f5716528e8d..03fad5be9d0c988e7e73b70acbd647c1649f9c0d 100644 --- a/gajim/common/modules/misc.py +++ b/gajim/common/modules/misc.py @@ -14,19 +14,25 @@ # All XEPs that don’t need their own module +from typing import Optional + import logging +from nbxmpp.structs import MessageProperties + +from gajim.common.helpers import AdditionalDataDict from gajim.common.i18n import get_rfc5646_lang log = logging.getLogger('gajim.c.m.misc') - # XEP-0066: Out of Band Data - -def parse_oob(properties, additional_data): +def parse_oob(properties: MessageProperties, + additional_data: AdditionalDataDict + ) -> None: if not properties.is_oob: return + assert properties.oob is not None additional_data.set_value('gajim', 'oob_url', properties.oob.url) if properties.oob.desc is not None: additional_data.set_value('gajim', 'oob_desc', @@ -34,18 +40,20 @@ def parse_oob(properties, additional_data): # XEP-0308: Last Message Correction - -def parse_correction(properties): +def parse_correction(properties: MessageProperties) -> Optional[str]: if not properties.is_correction: return None + assert properties.correction is not None return properties.correction.id # XEP-0071: XHTML-IM - -def parse_xhtml(properties, additional_data): +def parse_xhtml(properties: MessageProperties, + additional_data: AdditionalDataDict + ) -> None: if not properties.has_xhtml: return + assert properties.xhtml is not None body = properties.xhtml.get_body(get_rfc5646_lang()) additional_data.set_value('gajim', 'xhtml', body)