예제 #1
0
 def get_dish_by_id(self, dish_id):
     self.cursor.execute('SELECT json_dish FROM Dishes WHERE id = :dish_id',
                         {'dish_id': dish_id})
     json_dish = self.cursor.fetchone()
     if json_dish is not None:
         return Dish(json.loads(json_dish[0]))
     return None
예제 #2
0
def recipe_results():
    global results
    query = request.args['query']
    labels = [
        label for label in ALL_LABELS if request.args.get(label) is not None
    ]
    health_labels = list(filter(lambda l: l in HEALTH_LABELS, labels))
    diet_labels = list(filter(lambda l: l in DIET_LABELS, labels))
    api_request = build_request(query, health_labels, diet_labels)
    if user is not None:
        if query in [entry.query for entry in user.history]:
            dao.delete_entry(user, query)
        dao.add_history_entry(
            user,
            HistoryEntry(query,
                         datetime.now().strftime('%Y-%m-%d %H:%M:%S')))
    response = requests.get(api_request)
    results = [Dish(hit['recipe']) for hit in response.json()['hits']
               ] if response.status_code == 200 else []
    return render_template('recipes.html',
                           labels=ALL_LABELS,
                           recipes=results,
                           profile=user)
예제 #3
0
 def get_dishes_by_user(self, user):
     self.cursor.execute(
         'SELECT json_dish FROM Dishes WHERE user_id = :user_id',
         {'user_id': user.id})
     json_dishes = self.cursor.fetchall()
     return [Dish(json.loads(json_dish[0])) for json_dish in json_dishes]