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