Esempio n. 1
0
    def test_delete_food(self):
        # create a new food to be deleted, then delete
        insert_food = Food(
            food="Chicken",
            protein=5,
            carbs=1,
            fat=1,
            calories=1
        )

        insert_food.insert()
        # record number of foods before delete
        number_food = len(Food.query.all())

        # delete new food
        res = self.client().post(
            f'/food/{insert_food.id}/delete',
            headers=get_headers(self.admin))

        # record number of questions after delete
        number_food_new = len(Food.query.all())

        self.assertEqual(res.status_code, 200)
        self.assertEqual(number_food_new, number_food - 1)
        self.assert_template_used('/pages/foods.html')
Esempio n. 2
0
def add_post():
    food_id = request.form.get('food-id')
    food = request.form.get('food-name')
    proteins = request.form.get('protein')
    carbs = request.form.get('carbohydrates')
    fats = request.form.get('fat')

    if food_id:
        result = Food.update(name=food,
                             protein=proteins,
                             carbs=carbs,
                             fats=fats).where(Food.id == food_id).execute()

        if result == 1:
            flash("Food item is updated", "succes")
        elif result > 1:
            flash("Something strange happend, multiple items where updated",
                  "warning")
        elif result < 1:
            flash("No item found", "error")
    else:
        test, isCreated = Food.get_or_create(name=food,
                                             defaults={
                                                 'protein': proteins,
                                                 'carbs': carbs,
                                                 'fats': fats
                                             })

        print(test)
        if isCreated:
            flash("Food is created", "succes")
        else:
            flash("Food already exists", "error")

    return redirect(url_for("main.add"))
Esempio n. 3
0
def newFood():
    current_user = get_user()
    if current_user is None:
        # Must be logged in to create a food
        return render_template('clientOAuth.html')
    if request.method == 'POST':
        newFood = Food(name=request.form['name'])
        if not newFood.validate_object():
            flash("The name field is blank, which is not allowed!")
            return render_template('newFood.html')

        # Only add a picture if it is valid
        prospective_url = bleach.clean(request.form['picture'])
        url_resp = Food.verify_valid_pic(prospective_url)

        if url_resp is not None:
            newFood.picture = url_resp
        db.session.add(newFood)
        db.session.commit()
        new_food = newFood.id
        if request.form['redirect_choice'] == 'EditMenu':
            return redirect(url_for('foodVarieties', food_id=food.id))
        elif request.form['redirect_choice'] == 'ReturnDatabase':
            return redirect(url_for('showFoods'))
    else:
        return render_template('newFood.html')
Esempio n. 4
0
 def mutate_and_get_payload(cls, input, context, info):
     food = Food(name=input.get('name'),
                 description=input.get('description'),
                 ingrediants=input.get('ingrediants'),
                 cuisine=input.get('cuisine'),
                 category=input.get('category'))
     food.save()
     return NewFood(food=food)
Esempio n. 5
0
  def post(self):
    food_name = self.request.get('food_name')
	food = Food(parent=food_key(food_name),
				food.price = self.request.get('price'),
				food.picture = )

	food.put()
	self.redirect('/?' + urllib.urlencode({'food_name': food_name}))
def create_food(name, cuisine):
    new_food = Food(name=name, cuisine=cuisine)
    if new_food:
        db.session.add(new_food)
        db.session.commit()
        return jsonify(new_food.as_dict())
    else:
        raise Expection('Error in creating new food')
Esempio n. 7
0
 def post(self):
     the_fav_food = self.request.get('user-fav-food')
     
     #put into database (optional)
     food_record = Food(food_name = the_fav_food)
     food_record.put()
     
     #pass to the template via a dictionary
     variable_dict = {'fav_food_for_view': the_fav_food}
     end_template = jinja_current_dir.get_template("templates/results.html")
     self.response.write(end_template.render(variable_dict))
Esempio n. 8
0
    def post(self):
        the_fav_food = self.request.get('user-fav-food')

        #put into database (optional)
        food_record = Food(food_name=the_fav_food)
        food_record.put()

        #pass to the template via a dictionary
        variable_dict = {'fav_food_for_view': the_fav_food}
        end_template = jinja_current_dir.get_template("templates/results.html")
        self.response.write(end_template.render(variable_dict))
Esempio n. 9
0
 def delete_menu_item():
     record_id = request.form['itemid']
     try:
         obj = Food.query.filter(Food.id == record_id)
         for item in obj:
             Food.delete(item)
     except SQLAlchemyError as exc:
         error = str(exc.__dict__['orig'])
         return jsonify({"error": "Oops! %s" % error})
     else:
         return jsonify({"name": "Successfully deleted record"})
Esempio n. 10
0
def set_food():
    if request.data:
        new_food_dict = json.loads(request.data)
        new_food = Food(name=new_food_dict['name'])
        for item in dir(Food):
            if item in new_food_dict:
                setattr(new_food, item, new_food_dict[item])
        new_food.save()
        if Food.objects(id=new_food.id).count() > 0:
            return "Successfully created item"
    return abort(500)
Esempio n. 11
0
 def add_menu_item():
     date_now = datetime.now()
     obj = Food(request.form['title'], date_now)
     try:
         Food.insert(obj)
     except SQLAlchemyError as exc:
         error = str(exc.__dict__['orig'])
         return jsonify({"error": "Oops! %s" % error})
     else:
         return jsonify(
             {"name": "Menu item successfully added - Reloading"})
Esempio n. 12
0
def do_save():
    """User/Guest page, if user is not signed in they can save data to the guest account"""
    food_data = request.get_json("data")

    if g.user:
        Food.add_food(g.user.id, food_data["food"], food_data["menuName"])
        return "true"

    else:
        guest = User.query.filter_by(username="******").first()
        Food.add_food(guest.id, food_data["food"], food_data["menuName"])
        return "true"
Esempio n. 13
0
 def delete_all_menu_items():
     try:
         obj = Food.query.all()
         for item in obj:
             Food.delete(item)
     except SQLAlchemyError as exc:
         error = str(exc.__dict__['orig'])
         return jsonify({"error": "Oops! %s" % error})
     else:
         return jsonify({
             "name":
             "All items successfully deleted - Reloading in 5 seconds"
         })
Esempio n. 14
0
def sort():

    vegetables = Food.query(Food.type=="vegetable").fetch(1000)
    vegetables.sort(key=lambda x:x.get_point())
    vegetables.reverse()
    meats = Food.query(Food.type=="meat").fetch(1000)
    meats.sort(key=lambda x:x.get_point())
    meats.reverse()
    fishs = Food.query(Food.type=="fish").fetch(1000)
    fishs.sort(key=lambda x:x.get_point())
    fishs.reverse()

    c = 0
    for vegetable in vegetables:
        print 'vegetable', c, vegetable.name
        vegetable.rank = c
        print vegetable.point
        if c:
            vegetable.prev = vegetables[c-1].name
        if c < len(vegetables) - 1:
            vegetable.next_one = vegetables[c+1].name
        c += 1

    c=0
    for meat in meats:
        print 'meat', c, meat.name
        print meat.point
        meat.rank = c
        if c:
            meat.prev = meats[c-1].name
        if c < len(meats) - 1:
            meat.next_one = meats[c+1].name
        c += 1


    c=0
    for fish in fishs:
        print 'fish', c, fish.name
        print fish.point
        fish.rank = c
        if c:
            fish.prev = fishs[c-1].name
        if c < len(fishs) - 1:
            fish.next_one = fishs[c+1].name
        c += 1

    result = []
    result.extend(vegetables)
    result.extend(fishs)
    result.extend(meats)
    ndb.put_multi(result)
Esempio n. 15
0
def tot_cost(user):
    sum1 = 0
    #print(user)
    try:
        s1 = Food.get(Food.owner_id == user).cost
        if s1 is not None:
            sum1 = s1 + sum1
            print("the total cost of food is")
            print(s1)
    except:
        pass
    try:
        s2 = Activity.get(Activity.owner_id == user).cost
        if s2 is not None:
            sum1 = s2 + sum1
            print("Cost of your activity is")
            print(s2)
    except:
        pass

    try:
        s3 = Room.get(Room.owner_id == user).cost
        if s3 is not None:
            sum1 = s3 + sum1
            print("Cost of your Room is")
            print(s3)

    except:
        pass

    print(sum1)
Esempio n. 16
0
def addFood():

    if 'email' not in session:
        flash('Login as Admin to Add Food Item', 'danger')
        return redirect('/grill')

    owner = User.query.filter_by(email=session['email']).first()
    if not owner.admin:
        flash("Login as Admin to  Add Food Item", 'danger')
        return redirect('/grill')

    foods = Food.query.all()

    if 'name' in request.form:
        name = request.form['name']
        cook_time = request.form['cook-time']
        for food in foods:
            if name == food.name:
                flash("Duplicate Food Item", 'danger')
                return redirect('/grill')

        food = Food(name=name, cook_time=cook_time)
        db.session.add(food)
        db.session.commit()
        flash("Food Item was added successfully", 'success')
        return redirect('/grill')

    return redirect('/grill')
Esempio n. 17
0
def newfood(request):
    name = request.GET["name"]
    try:
        Food.objects.get(name__iexact=name)
        raise Exception("Already got this food")
    except Food.DoesNotExist:
        pass
    food = Food()
    for x in request.GET.keys():
        if x in "carb,fiber,protein,fat".split(","):
            value = string.atoi(request.GET[x])
        else:
            value = request.GET[x]
        setattr(food, x, value)
    food.save()
    return redirect('/')
Esempio n. 18
0
def index(food):
    if food == '':
        return '<h1>WELCOME!</h1>'
    if request.method == 'GET':
        url = f'{base_url}?ingr={food}&app_id={application_ID}&app_key={application_key}'
        response = requests.get(url)
        data = response.json()['hints']
        found_foods = construct_food(data)
        search_results = Food.query.filter(Food.name.ilike(f'%{food}%')).all()
        return jsonify([*map(food_serializer, search_results)])

    elif request.method == 'POST':
        if request.is_json:
            data = request.get_json()
            name = data['name']
            new_food = Food(
                external_id=f'{name}{uuid.uuid1()}',
                name=name,
                energy=int(data['energy']),
                protein=int(data['protein']),
                carbohydrate=int(data['carbohydrate']),
                fat=int(data['fat']),
                fiber=int(data['fiber']),
                image=
                'https://cdn.pixabay.com/photo/2018/03/28/20/32/food-3270461_960_720.jpg'
            )
            db.session.add(new_food)
            db.session.commit()
            recently_added = Food.query.filter_by(name=new_food.name)
            return jsonify([*map(food_serializer, recently_added)])
        else:
            return {"error": "The request failed."}
Esempio n. 19
0
def add_food_to_log(log_id):
    food_id = int(request.form.get('food-select'))
    print(food_id, type(food_id))
    food_select = Food.select().where(Food.id == food_id).get()
    food_select.logs.add(Log.select().where(Log.id == log_id))

    return redirect(url_for("main.view", log_id=log_id))
Esempio n. 20
0
def index():
    if request.method == 'POST':
        new_data = get_food_data(request.form.get('food_name'))
        if request.form.get('write_data'):
            if not current_user.is_authenticated:
                flash('You need authorization to do it.')
                return redirect(url_for('login'))
            else:
                data = request.form.get('write_data').split('-')
                name = data[0]
                calories = data[1]
                fat = data[2]
                new_food_item = Food(
                    name=name,
                    calories=calories,
                    fat=fat,
                    parent_user_id=current_user.id
                )
                db.session.add(new_food_item)
                db.session.commit()
                flash('Successfully added')
                return redirect(url_for('index'))
        if not new_data:
            name = None
            parsed_food_data = None
        else:
            name = new_data['text']
            try:
                parsed_food_data = new_data['parsed'][0]['food']['nutrients']
            except IndexError:
                flash('Wrong food name!')
                return redirect(url_for('index'))
            else:
                return render_template('index.html', name=name, food=parsed_food_data, current_user=current_user)
    return render_template('index.html', current_user=current_user)
Esempio n. 21
0
def search_food():
    q = request.args.get("search_food")
    f, recipes = None, None
    if q:
        f = Food.objects(name__icontains=q).first()
        f.save()
    return render_template("ideal.html", foods=[f,])
Esempio n. 22
0
    def get(self):
        print(os.environ.get("FOOD_API_KEY"))
        start_template = jinja_current_dir.get_template(
            "templates/Recipes.html")
        user_foods = Food.query().order(Food.expiration_date).fetch()
        user_food_names = ",".join([food.food_name for food in user_foods])
        query_params = {
            'ingredients': user_food_names,
            'apiKey': os.environ.get("FOOD_API_KEY"),
        }

        #not totally sure
        # recipe = Recipe.query().fetch()
        # self.response.write(start_template.render(recipe))
        url = 'https://api.spoonacular.com/recipes/findByIngredients?%s' % (
            urllib.urlencode(query_params))
        # self.response.write(url)
        try:
            result = urlfetch.fetch(url)
            if result.status_code == 200:
                result_data = json.loads(result.content)
            else:
                result_data = []
                self.response.status_int = result.status_code
        except urlfetch.Error:
            logging.exception('Caught exception fetching url')
        self.response.write(start_template.render({"recipes": result_data}))
Esempio n. 23
0
def editFood(food_id):
    food = db.session.query(Food).filter_by(id=food_id).one()
    current_user = get_user()
    if food.protected:
        # Cannot edit a food that is protected
        return render_template('unauthorizedFood.html', food=food)
    if current_user is None:
        return render_template('clientOAuth.html')
    if request.method == 'POST':
        food.name = request.form['name']
        if not food.validate_object():
            flash("The name field is blank, which is not allowed!")
            return render_template('editFood.html')

        prospective_url = bleach.clean(request.form['picture'])
        url_resp = Food.verify_valid_pic(prospective_url)
        food.picture = url_resp

        db.session.add(food)
        db.session.commit()
        if request.form['redirect_choice'] == 'Varieties':
            return redirect(url_for('foodVarieties', food_id=food.id))
        elif request.form['redirect_choice'] == 'ReturnDatabase':
            return redirect(url_for('showFoods'))
    else:
        return render_template('editFood.html', food=food)
Esempio n. 24
0
def newfood(request):
    name = request.GET["name"]
    try:
        Food.objects.get(name__iexact=name)
        raise Exception("Already got this food")
    except Food.DoesNotExist:
        pass
    food = Food()
    for x in request.GET.keys():
        if x in "carb,fiber,protein,fat".split(","):
            value = string.atoi(request.GET[x])
        else:
            value = request.GET[x]
        setattr(food, x, value)
    food.save()
    return redirect('/')
Esempio n. 25
0
    def setUp(self):
        """Create test client, add clear database tables"""
        User.query.delete()
        Food.query.delete()
        UserFoods.query.delete()

        self.client = app.test_client()
        # set up a signed in user
        tempuser = User.signup(username="******", password="******")

        db.session.commit()
        self.testuser = db.session.query(User).first()

        # set up the Guest user
        Guest = User.signup(username="******", password="******")

        db.session.commit()

        # insert test food item into database
        food = Food(data="testfood",
                    date_string="10-10-10 lunch",
                    user_id=self.testuser.id)
        db.session.add(food)
        db.session.commit()
        self.food = db.session.query(Food).first()
Esempio n. 26
0
    def get(self, _type):
        size = int(self.request.get('size', 6))
        page = int(self.request.get('page', 1))

        foods = Food.query(Food.type==_type).fetch(1000)
        foods = sorted(foods, key= lambda x:x.rank)[size*page - size : size*page]
        result = [{"name":v.name, "price": v.price, "wholesale_price": v.wholesale_price, "image":v.image, "order": v.rank} for v in foods]
        self.output(result)
Esempio n. 27
0
    def post(self):
        expiration_string = self.request.get('expirationdate')
        expiration_date = datetime.datetime.strptime(expiration_string,
                                                     "%Y-%m-%d").date()

        # calendar_url = "http://www.google.com/calendar/event?action=TEMPLATE&text=%s&dates=%s/%s"
        # calendar_link = calendar_url % ("TestEvent", 7, 12) #calendar_start, calendar_end)
        # calendar_html = "<HTML><BODY><A href='%s' target='_blank'>Test Event Link</A></BODY></HTML>"
        # self.response.write(calendar_html % calendar_link)
        user = users.get_current_user()
        food_input = self.request.get('addfooditem')
        #put into database (optional)
        food_record = Food(food_name=food_input,
                           user_id=user.user_id(),
                           expiration_date=expiration_date)
        food_record.put()
        self.redirect('/input')
Esempio n. 28
0
def remove_food_from_db():
    delete_food_dict = json.loads(request.data)
    food = Food.objects.get_or_404(_id=delete_food_dict["id"])
    food.delete()
    if Food.objects(_id=delete_food_dict["id"]).count() == 0:
        return jsonify({'result': 1})
    else:
        return abort(500)
Esempio n. 29
0
def demo_food():
    from models import Food
    food = Food.query.filter(Food._name=='Blue - Chicken and Brown Rice Recipe').first()
    if food is None:
        food = Food('Blue - Chicken and Brown Rice Recipe', 378, 8)
        db.session.add(food)
        db.session.commit()
    return food
def update_food_menu():
    if 'userid' not in session:
        return redirect('/login')

    adminStatus = Admin.query.get(session['userid'])
    if adminStatus:
        # ADD
        if request.form['update_type'] == 'new':
            is_valid = Food.validate_food_item(request.form)
            if is_valid:
                Food.add_food_item(request.form)
        # MAKE ACTIVE/INACTIVE
        elif request.form['update_type'] == 'status':
            Food.update_food_status(request.form.getlist('food_id_cb'))
        # DELETE
        elif request.form['update_type'] == 'delete':
            Food.delete_food_item(request.form['food_id'])
        # UPDATE
        # elif

        return render_template('partials/admin_food.html',
                               all_food=Food.query.order_by(
                                   Food.category, Food.name).all())

    return redirect('/')
Esempio n. 31
0
def test_create_food_without_fibre():
    # no fibre in constructor
    food = Food(id=1,
                name="egg",
                serving_size="piece",
                kcal_per_serving=78,
                protein_grams=6.3)
    # hence it's set to default 0
    assert food.fibre_grams == 0
Esempio n. 32
0
def food():
    food = Food(
        id=1,
        name="egg",
        serving_size="piece",
        kcal_per_serving=78,
        protein_grams=6.3,
        fibre_grams=0,
    )
    return food
Esempio n. 33
0
 def spawn_food(self, position=0):
     if position == 0:
         while True:
             position = get_random_position(self.screen)
             if self.snake:
                 if not self.snake.collides_with(position):
                     break
             else:
                 break
     self.food.insert(0, Food(position))
Esempio n. 34
0
def test_create_food_casting_no_exception():
    # "78" is ok, so is an int for protein's float type
    assert Food(
        id=1,
        name="egg",
        serving_size="piece",
        kcal_per_serving="78",
        protein_grams=6,
        fibre_grams=1.2,
    )
Esempio n. 35
0
def sort():
    vegetables = Food.query(Food.type=="vegetable").order(Food.point).fetch(1000)
    meats = Food.query(Food.type=="meat").order(Food.point).fetch(1000)
    fishs = Food.query(Food.type=="fish").order(Food.point).fetch(1000)

    c = 0
    for vegetable in vegetables:
        print 'vegetable', c, vegetable.name
        vegetable.rank = c
        if c:
            vegetable.prev = vegetables[c-1].name
        if c < len(vegetables) - 1:
            vegetable.next_one = vegetables[c+1].name
        c += 1

    c=0
    for meat in meats:
        print 'meat', c, meat.name
        meat.rank = c
        if c:
            meat.prev = meats[c-1].name
        if c < len(meats) - 1:
            meat.next_one = meats[c+1].name
        c += 1


    c=0
    for fish in fishs:
        print 'fish', c, fish.name
        fish.rank = c
        if c:
            fish.prev = fishs[c-1].name
        if c < len(fishs) - 1:
            fish.next_one = fishs[c+1].name
        c += 1

    result = []
    result.extend(vegetables)
    result.extend(fishs)
    result.extend(meats)
    ndb.put_multi(result)
Esempio n. 36
0
 def post(self):
     items = self.request.POST.items()
     food_pool = []
     for item in items:
         key, url = item[1].encode('utf-8').split('@', 1)
         print key
         food = Food.get_by_id(key)
         if food.image == url:
             continue
         else:
             food.image = url
             food.put()
Esempio n. 37
0
    def get(self):
        foods = Food.query().fetch(1000)
        template = u"<label><img src='{1}'>{2}<input name='data' value='{0}@{1}'></label>"
        foods_template = "<br/>".join([template.format(food.name, food.image, food.type) for food in foods])

        html = u'''
            <form method='post'>
                {}
                <input type='submit'>
            </form>

        '''.format(foods_template)

        self.response.write(html)
Esempio n. 38
0
    def get(self, _id):

        food = Food.get_by_id(_id)
        result = {
            "name": food.name,
            "price": food.price,
            "wholesale_price": food.wholesale_price,
            "order": food.rank,
            "next": food.next_one,
            "prev": food.prev,
            "description": food.get_recommand(),
            "image": food.image
        }

        self.output(result)
Esempio n. 39
0
def set_image():
    import google_search_image
    foods = Food.query().fetch(1000)
    import pdb;pdb.set_trace()
    for food in foods:
        try:
            print food.name, food.image
            assert not food.image, 'had image'
            key = u'{}'.format(food.name)
            print key
            img = google_search_image.search(key.encode('utf-8')).next()
            food.image = img.get('url')
            print food.name, food.image
            food.put()
        except Exception as e:
            print e
Esempio n. 40
0
def process_item(item):
#    print item

    food = Food.get_or_insert(item['name'])
    for key, value in item.items():
        try:
            if key != 'date':
                setattr(food, key, value)
                print key, value
        except Exception as e:
            print e

    food.push_info(item['date'])
    food.aggregate()
    food.get_point()
    food.get_recommand()
    return food
Esempio n. 41
0
    def get(self):
        stall_name=self.request.get('stall_name')
        food_query = Food.all().ancestor(
            stall_key(stall_name)).order('-name')
        food = food_query.run()

        if users.get_current_user():
            url = users.create_logout_url(self.request.uri)
            url_linktext = 'Logout'
        else:
            url = users.create_login_url(self.request.uri)
            url_linktext = 'Login'

        self.render_template('index.html',{
            'food': food,
            'url': url,
            'url_linktext': url_linktext,
        })
Esempio n. 42
0
    def get(self, _id):

        food = Food.get_by_id(_id)

        composition = [{"name": "維生素B群  & C 菸鹼素", "amount": 5.2000, 'unit': "mg"}, {"name":"維生素E α-生育醇", "amount": 1.2400, "unit": "mg"}, {"name":"維生素E   維生素E總量", "amount": 3.0200, "unit": "mg"}, {"name":"礦物質   鈣", "amount": 33.0000, "unit": "mg"}]

        result = {
            "name": food.name,
            "price": food.price,
            "wholesale_price": food.wholesale_price,
            "order": food.rank,
            "next": food.next_one,
            "prev": food.prev,
            "description": food.get_recommand(),
            "image": food.image,
            "composition": composition,
            "type": "豬肉",
        }

        self.output(result)
Esempio n. 43
0
    def get(self, _id):
        result = Food.get_by_id(_id).infos
        result = [r.to_dict() for r in result]
        days = [r['date'] for r in result]

        day = datetime.datetime(2014,6,1)
        today = datetime.datetime.today() - datetime.timedelta(1)
        while day < today:
            day = day + datetime.timedelta(1)
            if day.date() in days:
                continue
            data = {}
            data['amount'] = 0
            data['date'] = day.date()
            data['wholesale_price'] = 0
            data['price'] = 0
            result.append(data)

        result.sort(key=lambda x:x['date'])
        self.output(result)
Esempio n. 44
0
    def get(self, _id):

        food = Food.get_by_id(_id)


        datas = open('20_r').readlines()
        
        composition = []
        
        pattern = re.sub("\(.*\)", "", _id)
        pattern = re.sub("-.*", "", pattern)

        for d in datas:
            if pattern in d:
                try:
                    t1, t2, name, unit, value = d.split(' ')
                    composition.append({"name": name, "amount":float(value.strip()), "unit":unit})
                except Exception as e:
                    print e


        composition = composition or [{"name": "碳水化合物", "unit": "mg", "amount": 1}]
        
        mapping = {"fish": '魚', 'meat': '肉', 'vegetable': '菜'}
        _type = mapping[food.type]
        
        result = {
            "name": food.name,
            "price": food.price,
            "wholesale_price": food.wholesale_price,
            "order": food.rank,
            "next": food.next_one,
            "prev": food.prev,
            "description": food.get_recommand(),
            "image": food.image,
            "composition": composition,
            "type": _type, 
        }

        self.output(result)
Esempio n. 45
0
 def get(self):
     food_list_template = jinja_current_dir.get_template("templates/foodlist.html")
     fav_foods = Food.query().order(-Food.food_name).fetch(3)
     dict_for_template = {'top_fav_foods': fav_foods}
     self.response.write(food_list_template.render(dict_for_template))
Esempio n. 46
0
 def get(self, _id):
     result = Food.get_by_id(_id).infos
     result = [r.to_dict() for r in result]
     self.output(result)