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