comparison sat/tools/common/data_objects.py @ 2942:8dbef2d190eb

tools (common/data_objects): added a "deserialise" argument to BlogItem: BlogItem is doing deserialisation itself, which is not clean (it should be done at bridge level), and which is causing trouble in jp which doesn't expect serialisation. As a workaround, the "deserialise" argument has been added for now (default to True), until deserialisation is properly managed in bridge.
author Goffi <goffi@goffi.org>
date Sun, 05 May 2019 18:50:30 +0200
parents 0b7ce5daee9b
children ab2696e34d29
comparison
equal deleted inserted replaced
2941:83cbd4545274 2942:8dbef2d190eb
70 data[u"complete"] = index + len(items) >= count 70 data[u"complete"] = index + len(items) >= count
71 return data 71 return data
72 72
73 73
74 class BlogItem(object): 74 class BlogItem(object):
75 def __init__(self, mb_data, parent): 75 def __init__(self, mb_data, parent, deserialise=True):
76 self.mb_data = data_format.deserialise(mb_data) 76 """
77 @param deserialise(bool): if True, mb_data is a serialised string which must
78 be deserialised
79 """
80 # FIXME: deserialise should not be done here, but before BlogItem is called
81 if deserialise:
82 self.mb_data = data_format.deserialise(mb_data)
83 else:
84 self.mb_data = mb_data
77 self.parent = parent 85 self.parent = parent
78 self._comments = None 86 self._comments = None
79 self._comments_items_list = None 87 self._comments_items_list = None
80 88
81 @property 89 @property
178 self._comments_items_list = [] 186 self._comments_items_list = []
179 self._comments_items_list.append(items) 187 self._comments_items_list.append(items)
180 188
181 189
182 class BlogItems(object): 190 class BlogItems(object):
183 def __init__(self, mb_data): 191 def __init__(self, mb_data, deserialise=True):
184 self.items = [BlogItem(i, self) for i in mb_data[0]] 192 """
193 @param deserialise(bool): if True, mb_data is a serialised string which must
194 be deserialised
195 """
196 # FIXME: deserialise should not be done here, but before BlogItem is called
197 self.items = [BlogItem(i, self, deserialise=deserialise) for i in mb_data[0]]
185 self.metadata = parsePubSubMetadata(mb_data[1], self.items) 198 self.metadata = parsePubSubMetadata(mb_data[1], self.items)
186 199
187 @property 200 @property
188 def service(self): 201 def service(self):
189 return self.metadata[u"service"] 202 return self.metadata[u"service"]