async def del_expense(callback_query: types.CallbackQuery): """ Deletes an expense from the table expenses""" await bot.answer_callback_query(callback_query.id) row_id = int(callback_query.data[3:]) expenses.delete_expense(row_id) answer = "Удалил!" await bot.send_message(callback_query.from_user.id, answer)
async def del_expense(message: types.Message): try: row_id = int(message.text[4:]) expenses.delete_expense(row_id) answer_message = 'The transaction was deleted' except ValueError: answer_message = f'Enter valid command in format:\n/del<expense_id>' except exceptions.NotCorrectMessage as e: answer_message = str(e) await message.answer(answer_message)
async def delete_expense(message: types.Message): """Deletes a single expense record by its ID""" row_id = int(message.text[4:]) try: expenses.delete_expense(row_id) except NotCorrectExpenseIDToDelete as e: await message.answer(str(e)) return await message.answer("Removed 👌")
def delete_expense(expense_id): if expenses.delete_expense(expense_id, db_params): return Response('{"message": "OK"}', status=200, mimetype='application/json') else: logger.error("Cannot delete expense from DB") return Response('{"message": "Cannot delete expense from DB"}', status=500, mimetype='application/json')
async def del_expense(message: types.Message): """Удаляет одну запись о расходе по её идентификатору""" row_id = int(message.text[4:]) expenses.delete_expense(row_id) last_expenses = expenses.last() if not last_expenses: await message.answer("Удалено!\n\n" "Теперь расходов нет 😇" "\n\nВернуться назад: /back") return last_expenses_rows = [ f"{expense.amount} грн. на {expense.category_name} — нажми " f"/del{expense.id} для удаления" for expense in last_expenses ] answer_message = ("Удалено!\n\n" "Последние сохранённые траты:\n\n* " + "\n\n* " \ .join(last_expenses_rows) + "\n\nВернуться назад: /back") await message.answer(answer_message)
async def del_expenses(message: types.message) -> None: for i in DICTIONARY_LIST: if i['name'] == message.text: try: answer_databse = expenses.delete_expense(i['expenses']) print('delete item to database ') await message.answer(answer_databse.message) except: raise exceptions.NoCorrectMessage( await message.answer('Вы неправильно ввели данные'))
async def del_expense(message: types.Message): """Удаляет одну запись о расходе по её идентификатору""" row_id = int(message.text[4:]) expenses.delete_expense(row_id) answer_message = "Удалил" await message.answer(answer_message)
async def del_expense(message: types.Message): """Видаляє один запис про витрату по її ідентифікатору""" row_id = int(message.text[4:]) expenses.delete_expense(row_id) answer_message = "Удалил" await message.answer(answer_message)
async def del_expense(message: types.Message): """Deletes one expense record by its identifier""" row_id = int(message.text[4:]) expenses.delete_expense(row_id) answer_message = "Expense Deleted" await message.answer(answer_message)
def processing_command(command: str, user_id: int) -> str: """ Функция определения полученной команды и получения соответствующего ей ответа Обрабатывает команды (через слэш): - старт, помощь - вывод справки - [число] [группа] (300 такси) - внос расхода - удалить [идентификатор_расхода] (удалить 1) - удаление расхода - категории - вывод списка всех категорий и соответствующих им алиасов (псевдонимов) - день - вывод статистики за день - месяц - вывод статистики за месяц - затраты - вывод последних 10 затрат - лимит - вывод ежедневного лимита - лимит [число] (лимит 2000) - изменение ежедневного лимита :param command: команда :param user_id: идентификатор пользователя в VK :return: ответ на команду """ template_add_expense = r"^/(\d+[\.\d+|,\d+]*)р? (\w+)" template_delete_expense = r"/удалить (\d)" template_get_limit = r"^/лимит$" template_change_limit = r"^/лимит (\d+[\.\d+|,\d+]*)р?$" if command in ["/старт", "/помощь"]: return get_welcome_message() elif search(template_add_expense, command): expense = expenses.add_expense(message=command, user_id=user_id) answer_message = f"{expense.amount}р добавлено в категорию {expense.category_name}\n" return answer_message elif search(template_delete_expense, command): expense_id = findall(template_delete_expense, command)[0] expenses.delete_expense(expense_id=expense_id) answer_message = "Расход удалён" return answer_message elif command in ["/категории"]: answer_message = get_categories() return answer_message elif command in ["/день"]: answer_message = expenses.get_today_statistics(user_id=user_id) return answer_message elif command in ["/месяц"]: answer_message = expenses.get_month_statistics(user_id=user_id) return answer_message elif command in ["/затраты"]: last_expenses = expenses.last_expenses(user_id=user_id) answer_message = "" if not last_expenses: answer_message = "Расходы ещё не заведены" else: last_expenses_rows = [ f"{expense.amount} руб. на {expense.category_name} — введите " f"\"/удалить {expense.id}\" для удаления" for expense in last_expenses ] answer_message = "Последние сохранённые траты:\n\n— " \ "\n\n— ".join(last_expenses_rows) return answer_message elif search(template_get_limit, command): daily_limit = expenses.get_daily_limit(user_id=user_id) answer_message = f"Ваш дневной лимит: {daily_limit}" return answer_message elif search(template_change_limit, command): new_daily_limit = findall(template_change_limit, command)[0] if expenses.change_daily_limit(new_daily_limit=new_daily_limit, user_id=user_id): answer_message = "Суточнный лимит изменён" else: answer_message = "Ошибка! Суточный лимит не изменён" return answer_message else: answer_message = "Ошибка! Неверная команда" return answer_message
async def del_expense(message: types.Message): row_id = int(message.text[4:]) expenses.delete_expense(row_id) answer_message = "Удалил" await message.answer(answer_message)