comparison src/tools/common/data_objects.py @ 2476:6607bb29ab7b

tools (common/data_objects): BlogItem has now a uri property to generate its own XMPP URI
author Goffi <goffi@goffi.org>
date Fri, 19 Jan 2018 17:41:10 +0100
parents adcc35625e17
children e5acc83a9d51
comparison
equal deleted inserted replaced
2475:efd7a24d611c 2476:6607bb29ab7b
23 try: 23 try:
24 from jinja2 import Markup as safe 24 from jinja2 import Markup as safe
25 except ImportError: 25 except ImportError:
26 safe = unicode 26 safe = unicode
27 27
28 from sat.tools.common import uri as xmpp_uri
29
28 30
29 class BlogItem(object): 31 class BlogItem(object):
30 32
31 def __init__(self, mb_data): 33 def __init__(self, mb_data, parent):
32 self.mb_data = mb_data 34 self.mb_data = mb_data
35 self.parent = parent
33 self._tags = None 36 self._tags = None
34 self._groups = None 37 self._groups = None
35 self._comments = None 38 self._comments = None
36 self._comments_items_list = None 39 self._comments_items_list = None
37 40
40 return self.mb_data.get(u'id') 43 return self.mb_data.get(u'id')
41 44
42 @property 45 @property
43 def atom_id(self): 46 def atom_id(self):
44 return self.mb_data.get(u'atom_id') 47 return self.mb_data.get(u'atom_id')
48
49 @property
50 def uri(self):
51 node = self.parent.node
52 service = self.parent.service
53 return xmpp_uri.buildXMPPUri(u'pubsub',
54 subtype=u'microblog',
55 path=service,
56 node=node,
57 item=self.id)
45 58
46 @property 59 @property
47 def published(self): 60 def published(self):
48 return self.mb_data.get(u'published') 61 return self.mb_data.get(u'published')
49 62
131 144
132 145
133 class BlogItems(object): 146 class BlogItems(object):
134 147
135 def __init__(self, mb_data): 148 def __init__(self, mb_data):
136 self.items = [BlogItem(i) for i in mb_data[0]] 149 self.items = [BlogItem(i, self) for i in mb_data[0]]
137 self.metadata = mb_data[1] 150 self.metadata = mb_data[1]
138 151
139 @property 152 @property
140 def service(self): 153 def service(self):
141 return self.metadata[u'service'] 154 return self.metadata[u'service']