comparison libervia/backend/plugins/plugin_xep_0359.py @ 4270:0d7bb4df2343

Reformatted code base using black.
author Goffi <goffi@goffi.org>
date Wed, 19 Jun 2024 18:44:57 +0200
parents 9cda0347e0ac
children
comparison
equal deleted inserted replaced
4269:64a85ce8be70 4270:0d7bb4df2343
57 host.register_namespace("stanza_id", NS_SID) 57 host.register_namespace("stanza_id", NS_SID)
58 host.trigger.add("message_parse", self._message_parse_trigger) 58 host.trigger.add("message_parse", self._message_parse_trigger)
59 host.trigger.add("send_message_data", self._send_message_data_trigger) 59 host.trigger.add("send_message_data", self._send_message_data_trigger)
60 60
61 def _message_parse_trigger( 61 def _message_parse_trigger(
62 self, 62 self, client: SatXMPPEntity, message_elt: domish.Element, mess_data: MessageData
63 client: SatXMPPEntity,
64 message_elt: domish.Element,
65 mess_data: MessageData
66 ) -> bool: 63 ) -> bool:
67 """Check if message has a stanza-id""" 64 """Check if message has a stanza-id"""
68 stanza_id = self.get_stanza_id(message_elt, client.jid.userhostJID()) 65 stanza_id = self.get_stanza_id(message_elt, client.jid.userhostJID())
69 if stanza_id is not None: 66 if stanza_id is not None:
70 mess_data['extra']['stanza_id'] = stanza_id 67 mess_data["extra"]["stanza_id"] = stanza_id
71 try: 68 try:
72 origin_id = self.get_origin_id(message_elt) or message_elt["id"] 69 origin_id = self.get_origin_id(message_elt) or message_elt["id"]
73 except KeyError: 70 except KeyError:
74 pass 71 pass
75 else: 72 else:
76 mess_data['extra']['origin_id'] = origin_id 73 mess_data["extra"]["origin_id"] = origin_id
77 return True 74 return True
78 75
79 def _send_message_data_trigger(self, client, mess_data): 76 def _send_message_data_trigger(self, client, mess_data):
80 origin_id = mess_data["extra"].setdefault("origin_id", mess_data.get("uid")) 77 origin_id = mess_data["extra"].setdefault("origin_id", mess_data.get("uid"))
81 if not origin_id: 78 if not origin_id:
95 for stanza_elt in element.elements(NS_SID, "stanza-id"): 92 for stanza_elt in element.elements(NS_SID, "stanza-id"):
96 if stanza_elt.getAttribute("by") == by.full(): 93 if stanza_elt.getAttribute("by") == by.full():
97 if stanza_id is not None: 94 if stanza_id is not None:
98 # we must not have more than one element (§3 #4) 95 # we must not have more than one element (§3 #4)
99 raise exceptions.DataError( 96 raise exceptions.DataError(
100 "More than one corresponding stanza-id found!") 97 "More than one corresponding stanza-id found!"
98 )
101 stanza_id = stanza_elt.getAttribute("id") 99 stanza_id = stanza_elt.getAttribute("id")
102 # we don't break to be sure that there is no more than one element 100 # we don't break to be sure that there is no more than one element
103 # with this "by" attribute 101 # with this "by" attribute
104 102
105 return stanza_id 103 return stanza_id