Beispiel #1
0
 def get(self):
    full = self.request.GET.get('full', False)
    limit = self.request.params.get('limit', 20)
    offset = self.request.params.get('offset', 0)
    all_beers = Beer.all(keys_only=not full)
    total = all_beers.count(read_policy=db.EVENTUAL_CONSISTENCY, deadline=5)
    payload = [a_beer for a_beer in all_beers.run(offset=offset, limit=min(limit, total))]
    if not payload:
       raise webob.exc.HTTPNotFound()
    data = {}
    if not full:
       data['beers'] = [webapp2.uri_for('beer', beer_id=beer.name()) for beer in all_beers]
    else:
       data['beers'] = [funcs.convert_model(beer) for beer in all_beers]
    data['meta'] = funcs.meta_ok()
    self.response.write(json.json.dumps(data))