Esempio n. 1
0
    def post(self):
        args = post_parser.parse_args()
        if args.get('beer_id') is None:
            abort(400, message="beer_id is required")
        b = Beer.get_by_id(args.beer_id)

        return add_review(b, args)
Esempio n. 2
0
 def get(self, id):
     favorites = []
     b = Beer.get_by_id(id)
     if b is None:
         abort(404, message="Beer not found")
     for f in generate_sorted_query(Favorites).filter('beer', b):
         favorites.append(f)
     return {'favorites': map(lambda f: marshal(f, favorite_beer_fields), favorites)}
Esempio n. 3
0
 def get(self, id):
     review_list = []
     b = Beer.get_by_id(id)
     if not b:
         abort(404, message="Beer not found")
     args = self.reqparse.parse_args()
     if args.type == 'summary':
         summary = BeerReviewSummary.all().filter('beer', b).get()
         return {'beer_review_summary': marshal(summary, beer_review_summary_fields)}
     else:
         for r in generate_sorted_query(BeerReview).filter('beer', b):
             review_list.append(r)
         return {'beer_reviews': map(lambda r: marshal(r, beer_review_fields), review_list)}
Esempio n. 4
0
def add_favorite(beer_id):
    u = get_user()
    if u is None:
        abort(404, message="User not found")

    b = Beer.get_by_id(beer_id)
    if b is None:
        abort(404, message="Beer not found")
    f = Favorites.all(keys_only=True) \
        .filter('user', u)\
        .filter('beer', b) \
        .get()
    if f:
        abort(409, message="User already has this beer marked as favorite")

    f = Favorites(user=u,
                  beer=b)
    f.put()
    return {'favorite': marshal(f, favorite_fields)}
Esempio n. 5
0
    def post(self, id):
        args = post_parser.parse_args()
        b = Beer.get_by_id(id)

        return add_review(b, args)