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