def get(self, push_id): push = None if push_id == 'current': push = query.current_push() self.redirect(push.uri if push else '/pushes') return try: push = model.Push.get(push_id) except BadKeyError: raise HTTPStatusCode(httplib.NOT_FOUND) current_user = users.get_current_user() pending_requests = query.pending_requests(not_after=util.tznow().date()) if current_user == push.owner else [] if 'application/json' in self.get_request_header_list('Accept', default='*/*'): requests = query.push_requests(push) push_div = self.render_push_div(current_user, push, requests, pending_requests) response = {'push': dict(key=unicode(push.key()), state=push.state), 'html': unicode(push_div)} self.response.headers['Vary'] = 'Accept' self.response.headers['Content-Type'] = 'application/json' self.response.headers['Cache-Control'] = 'no-store' self.response.out.write(json.dumps(response)) else: doc = self.render_doc(current_user, push, pending_requests) self.response.out.write(unicode(doc))
def get(self, push_id): push = None if push_id == 'current': push = query.current_push() self.redirect(push.api_uri if push else '/pushes') return try: push = model.Push.get(push_id) except BadKeyError: raise HTTPStatusCode(httplib.NOT_FOUND) current_user = users.get_current_user() pending_requests = query.pending_requests(not_after=util.tznow().date()) if current_user == push.owner else [] requests = query.push_requests(push) push_info = self.render_push_info(push, requests) request_info = self.render_request_info(pending_requests) response = {'push': push_info, 'pending_requests': request_info} self.response.headers['Vary'] = 'Accept' self.response.headers['Content-Type'] = 'application/json' self.response.headers['Cache-Control'] = 'no-store' self.response.out.write(json.dumps(response))
def get(self, push_id): push = None if push_id == 'current': push = query.current_push() self.redirect(push.uri if push else '/pushes') return try: push = model.Push.get(push_id) except BadKeyError: raise HTTPStatusCode(httplib.NOT_FOUND) current_user = users.get_current_user() pending_requests = query.pending_requests(not_after=util.tznow().date()) if current_user == push.owner else [] self.render(push, current_user, pending_requests)