Esempio n. 1
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. 2
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. 3
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. 4
0
def get_food_from_barcode(barcode):
    food = Food.objects(barcode=barcode)
    if food:
        return food.to_json()
    else:
        resp = requests.get(f"https://world.openfoodfacts.org/api/v0/product/{barcode}.json")
        if resp.status_code == 200:
            resp_dict = json.loads(resp.text)
            if resp_dict['status'] == 1:
                food_data = resp_dict['product']
                # Has found a barcode in the openfoodfacts db
                food = Food(name=food_data["product_name"], barcode=barcode)
                food.save()
                return food.to_json()
    return "Can't find item for barcode"
Esempio n. 5
0
def user_matches(user, date = datetime.date.today()):
	items = []
	menu = user.menu
	if menu is not None:
		for name in menu:
			words = name.strip().split()
			permutations = words
			if len(words) <= 3:
				permutations = itertools.permutations(words, len(words))
			for permute in permutations:
				phrase = '\"{0}\"'.format(' '.join(permute))
				foods = list(Food.objects(date=date).search_text(phrase))
				if foods:
					items.extend(foods)
		return list(frozenset(items))
	else:
		return items
Esempio n. 6
0
def delete_food(id):
    Food.objects.get_or_404(_id=id)
    if Food.objects(_id=id).count() == 0:
        return "Item deleted successfully"
    else:
        return f"Error deleting item with id:{id}"