Mercurial > libervia-web
comparison src/server/blog.py @ 454:3ef6ce200c27
server_side: URL query parameter 'max_items' can be used to set the maximal number of blog posts to retrieve
author | souliane <souliane@mailoo.org> |
---|---|
date | Mon, 26 May 2014 14:25:56 +0200 |
parents | 981ed669d3b3 |
children | bbdc5357dc00 |
comparison
equal
deleted
inserted
replaced
453:296e7234f152 | 454:3ef6ce200c27 |
---|---|
65 else: | 65 else: |
66 def got_jid(pub_jid_s): | 66 def got_jid(pub_jid_s): |
67 pub_jid = JID(pub_jid_s) | 67 pub_jid = JID(pub_jid_s) |
68 d2 = defer.Deferred() | 68 d2 = defer.Deferred() |
69 item_id = None | 69 item_id = None |
70 try: | |
71 max_items = int(request.args['max_items'][0]) | |
72 except (ValueError, KeyError): | |
73 max_items = 10 | |
70 if len(request.postpath) > 1: | 74 if len(request.postpath) > 1: |
71 if request.postpath[1] == 'atom.xml': # return the atom feed | 75 if request.postpath[1] == 'atom.xml': # return the atom feed |
72 d2.addCallbacks(self.render_atom_feed, self.render_error_blog, [request], None, [request, prof_found], None) | 76 d2.addCallbacks(self.render_atom_feed, self.render_error_blog, [request], None, [request, prof_found], None) |
73 self.host.bridge.getLastGroupBlogsAtom(pub_jid.userhost(), 10, 'libervia', d2.callback, d2.errback) | 77 self.host.bridge.getLastGroupBlogsAtom(pub_jid.userhost(), max_items, 'libervia', d2.callback, d2.errback) |
74 return | 78 return |
75 try: # check if the given path is a valid UUID | 79 try: # check if the given path is a valid UUID |
76 uuid.UUID(request.postpath[1]) | 80 uuid.UUID(request.postpath[1]) |
77 item_id = request.postpath[1] | 81 item_id = request.postpath[1] |
78 except ValueError: | 82 except ValueError: |
79 pass | 83 pass |
80 d2.addCallbacks(self.render_html_blog, self.render_error_blog, [request, prof_found], None, [request, prof_found], None) | 84 d2.addCallbacks(self.render_html_blog, self.render_error_blog, [request, prof_found], None, [request, prof_found], None) |
81 if item_id: # display one message and its comments | 85 if item_id: # display one message and its comments |
82 self.host.bridge.getGroupBlogsWithComments(pub_jid.userhost(), [item_id], 'libervia', d2.callback, d2.errback) | 86 self.host.bridge.getGroupBlogsWithComments(pub_jid.userhost(), [item_id], 'libervia', d2.callback, d2.errback) |
83 else: # display the last messages without comment | 87 else: # display the last messages without comment |
84 self.host.bridge.getLastGroupBlogs(pub_jid.userhost(), 10, 'libervia', d2.callback, d2.errback) | 88 self.host.bridge.getLastGroupBlogs(pub_jid.userhost(), max_items, 'libervia', d2.callback, d2.errback) |
85 | 89 |
86 d1 = defer.Deferred() | 90 d1 = defer.Deferred() |
87 JID(self.host.bridge.asyncGetParamA('JabberID', 'Connection', 'value', C.SERVER_SECURITY_LIMIT, prof_found, callback=d1.callback, errback=d1.errback)) | 91 JID(self.host.bridge.asyncGetParamA('JabberID', 'Connection', 'value', C.SERVER_SECURITY_LIMIT, prof_found, callback=d1.callback, errback=d1.errback)) |
88 d1.addCallbacks(got_jid) | 92 d1.addCallbacks(got_jid) |
89 | 93 |