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