comparison libervia/backend/tools/common/data_objects.py @ 4158:83d8d8500bc2

tools (common/data_objects): expose message's `extra` field.
author Goffi <goffi@goffi.org>
date Wed, 22 Nov 2023 15:11:25 +0100
parents b274f0d5c138
children 32388d743348
comparison
equal deleted inserted replaced
4157:04cdcb3fd713 4158:83d8d8500bc2
40 self._from_jid = msg_data[2] 40 self._from_jid = msg_data[2]
41 self._to_jid = msg_data[3] 41 self._to_jid = msg_data[3]
42 self._message_data = msg_data[4] 42 self._message_data = msg_data[4]
43 self._subject_data = msg_data[5] 43 self._subject_data = msg_data[5]
44 self._type = msg_data[6] 44 self._type = msg_data[6]
45 self._extra = data_format.deserialise(msg_data[7]) 45 self.extra = data_format.deserialise(msg_data[7])
46 self._html = dict(data_format.get_sub_dict("xhtml", self._extra)) 46 self._html = dict(data_format.get_sub_dict("xhtml", self.extra))
47 47
48 @property 48 @property
49 def id(self): 49 def id(self):
50 return self._uid 50 return self._uid
51 51
75 def type(self): 75 def type(self):
76 return self._type 76 return self._type
77 77
78 @property 78 @property
79 def thread(self): 79 def thread(self):
80 return self._extra.get("thread") 80 return self.extra.get("thread")
81 81
82 @property 82 @property
83 def thread_parent(self): 83 def thread_parent(self):
84 return self._extra.get("thread_parent") 84 return self.extra.get("thread_parent")
85 85
86 @property 86 @property
87 def received(self): 87 def received(self):
88 return self._extra.get("received_timestamp", self._timestamp) 88 return self.extra.get("received_timestamp", self._timestamp)
89 89
90 @property 90 @property
91 def delay_sender(self): 91 def delay_sender(self):
92 return self._extra.get("delay_sender") 92 return self.extra.get("delay_sender")
93 93
94 @property 94 @property
95 def info_type(self): 95 def info_type(self):
96 return self._extra.get("info_type") 96 return self.extra.get("info_type")
97 97
98 @property 98 @property
99 def html(self): 99 def html(self):
100 if not self._html: 100 if not self._html:
101 return None 101 return None
104 except KeyError: 104 except KeyError:
105 return safe(next(iter(self._html.values()))) 105 return safe(next(iter(self._html.values())))
106 106
107 @property 107 @property
108 def attachments(self): 108 def attachments(self):
109 return self._extra.get("attachments", []) 109 return self.extra.get("attachments", [])
110 110
111 111
112 112
113 class Messages(object): 113 class Messages(object):
114 def __init__(self, msgs_data): 114 def __init__(self, msgs_data):