Exemplo n.º 1
0
def update_data() -> Union[Response, str]:
    """Route для изменения строки с данными в таблицу.

    Returns:
        Union[Response, str]: редирект на основную html или html-страница.
    """
    line_id = int(request.form["id"])
    line_to_id = get_line_to_id(line_id)
    logger_expenses.debug(
        f"Запрос на изменение данных в строке с id {line_id}: "
        f"rubles = {line_to_id[1]}, dollars = {line_to_id[2]}, date = {line_to_id[3]}, "
        f"w/i = {line_to_id[4]}, description = {line_to_id[5]}"
    )

    form = request.form
    rubles = float(form["rub"]) if form["rub"] else line_to_id[1]
    waste_or_income = form["w/i"] if form["w/i"] else line_to_id[4]
    description = form["desc"] if form["desc"] else line_to_id[5]
    dollars = round(rubles / get_dollar_value(), 2)

    try:
        update_line(rubles, waste_or_income, description, dollars, line_id)
        line_to_id = get_line_to_id(line_id)
        logger_expenses.debug(
            "Данные изменены на: "
            f"rubles = {line_to_id[1]}, dollars = {line_to_id[2]}, date = {line_to_id[3]}, "
            f"w/i = {line_to_id[4]}, description = {line_to_id[5]}"
        )
        return redirect(url_for(REDIRECT_PAGE))
    except Error as e:
        logger_expenses.error(f"Ошибка: {e}", exc_info=True)
        return render_template(ERROR_PAGE)
Exemplo n.º 2
0
def index() -> str:
    """Основной route приложения.

    Returns:
        str: html страницы.
    """
    try:
        all_data = get_all_data()
        return render_template("index.html", data=all_data)
    except Error as e:
        logger_expenses.error(f"Ошибка: {e}", exc_info=True)
        return render_template(ERROR_PAGE)
Exemplo n.º 3
0
def delete_all_data() -> Union[Response, str]:
    """Удаление всех строк в таблице.

    Returns:
        Union[Response, str]: редирект на основную html или html-страница.
    """
    try:
        delete_all_lines()
        logger_expenses.debug("Все данные удалены")
        return redirect(url_for(REDIRECT_PAGE))
    except Error as e:
        logger_expenses.error(f"Ошибка: {e}", exc_info=True)
        return render_template(ERROR_PAGE)
Exemplo n.º 4
0
def get_line_to_id(line_id: int) -> Union[tuple, Response]:
    """Получение кортежа с данными строки из таблицы базы данных.

    Args:
        line_id: id строки в таблице.

    Return:
        Union[tuple, Response]: кортеж с данными строки из таблицы или страницу с ошибкой
    """
    try:
        return get_data_to_id(line_id)[0]
    except Error as err:
        logger_expenses.error(f"Ошибка: {err}", exc_info=True)
        return render_template(ERROR_PAGE)
Exemplo n.º 5
0
def delete_data() -> Union[Response, str]:
    """Удаление строки с данными в таблице.

    Returns:
        Union[Response, str]: редирект на основную html или html-страница.
    """
    line_id = int(request.form["id"])
    delete_line = get_data_to_id(line_id)[0]
    logger_expenses.debug(
        f"Запрос на удаление строки с id {line_id}, данные строки: "
        f"rubles = {delete_line[1]}, dollars = {delete_line[2]}, date = {delete_line[3]}, "
        f"w/i = {delete_line[4]}, description = {delete_line[5]}"
    )

    try:
        delete_line_to_id(line_id)
        logger_expenses.debug(f"Удалена строка с id {line_id}")
        return redirect(url_for(REDIRECT_PAGE))
    except Error as e:
        logger_expenses.error(f"Ошибка: {e}", exc_info=True)
        return render_template(ERROR_PAGE)
Exemplo n.º 6
0
def add_data() -> Union[Response, str]:
    """Добавление строки с данными в таблицу.

    Returns:
        Union[Response, str]: редирект на основную html или html-страница.
    """
    form = request.form
    rubles = float(form["rub"])
    waste_or_income = form["w/i"]
    description = form["desc"]
    dollars = round(rubles / get_dollar_value(), 2)

    try:
        add_line(rubles, dollars, waste_or_income, description)
        logger_expenses.debug(
            "Добавлена строка с данными: "
            f"rubles = {rubles}, dollars = {dollars}, "
            f"w/i = {waste_or_income}, description = {description}"
        )
        return redirect(url_for(REDIRECT_PAGE))
    except Error as e:
        logger_expenses.error(f"Ошибка: {e}", exc_info=True)
        return render_template(ERROR_PAGE)