def category_public_paginate(username, table, column, category, order_by,
                             direction):
    recipe_info = ViewVariables(username).var_cat_search(
        table, 'MakePublic', 1, column, category, order_by, direction)
    page, per_page, offset = get_page_args(page_parameter='page',
                                           per_page_parameter='per_page')
    pagination_results = Get().get_results(recipe_info[0],
                                           offset=offset,
                                           per_page=per_page)
    pagination = Pagination(page=page,
                            per_page=per_page,
                            total=recipe_info[1],
                            css_framework='bootstrap4')

    return render_template('public_recipes.html',
                           username=username,
                           search='category_public',
                           my_recipme=recipe_info[0],
                           count=recipe_info[1],
                           cuisines=recipe_info[2][0][0],
                           courses=recipe_info[2][0][1],
                           public_cuisines=recipe_info[2][1][0],
                           public_courses=recipe_info[2][1][1],
                           category=category,
                           category_item=table,
                           results=pagination_results,
                           page=page,
                           per_page=per_page,
                           pagination=pagination)
def public_ingredient_paginate(username, ingredient, order_by, direction):
    # VALUE OF 1 IN SEARCH FUNCTION REPRESENTS MAKE PUBLIC VALUE OF 'YES' #
    recipe_info = ViewVariables(username).var_ing_search(
        'MakePublic', 1, ingredient, order_by, direction)
    page, per_page, offset = get_page_args(page_parameter='page',
                                           per_page_parameter='per_page')
    pagination_results = Get().get_results(recipe_info[0],
                                           offset=offset,
                                           per_page=per_page)
    pagination = Pagination(page=page,
                            per_page=per_page,
                            total=recipe_info[1],
                            css_framework='bootstrap4')

    return render_template('public_recipes.html',
                           search='ingredient_public',
                           username=username,
                           ingredient=ingredient,
                           my_recipme=recipe_info[0],
                           count=recipe_info[1],
                           cuisines=recipe_info[2][0][0],
                           courses=recipe_info[2][0][1],
                           public_cuisines=recipe_info[2][1][0],
                           public_courses=recipe_info[2][1][1],
                           results=pagination_results,
                           page=page,
                           per_page=per_page,
                           pagination=pagination)
def saved_paginate(username, order_by, direction):
    user_id = Get().get_user_id(username)['UserId']
    recipe_info = ViewVariables(username).var_saved_recipes(
        user_id, order_by, direction)
    page, per_page, offset = get_page_args(page_parameter='page',
                                           per_page_parameter='per_page')
    pagination_results = Get().get_results(recipe_info[0],
                                           offset=offset,
                                           per_page=per_page)
    pagination = Pagination(page=page,
                            per_page=per_page,
                            total=recipe_info[1],
                            css_framework='bootstrap4')

    return render_template('my_recipme.html',
                           search='saved',
                           username=username,
                           my_recipme=recipe_info[0],
                           count=recipe_info[1],
                           cuisines=recipe_info[2][0][0],
                           courses=recipe_info[2][0][1],
                           public_cuisines=recipe_info[2][1][0],
                           public_courses=recipe_info[2][1][1],
                           results=pagination_results,
                           page=page,
                           per_page=per_page,
                           pagination=pagination)
def edit_recipe(username, recipe_id):
    full_recipe = ViewVariables(username).var_full_recipe(recipe_id)
    title = full_recipe[1][0]['RecipeTitle']
    return render_template('edit_recipe.html',
                           username=username,
                           full_recipe=full_recipe,
                           title=title,
                           recipe_id=recipe_id)
def my_recipme(username):
    recipe_groups = ViewVariables(username).groupings()
    return render_template('my_recipme.html',
                           search=False,
                           username=username,
                           cuisines=recipe_groups[0][0],
                           courses=recipe_groups[0][1],
                           public_cuisines=recipe_groups[1][0],
                           public_courses=recipe_groups[1][1])