From 01d9df286707d5403e7fd15bbf062981772c59aa Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 30 Aug 2025 14:43:57 +0300 Subject: [PATCH] Update maintenance.py --- app/handlers/admin/maintenance.py | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/app/handlers/admin/maintenance.py b/app/handlers/admin/maintenance.py index 07cfd2c2..6881f935 100644 --- a/app/handlers/admin/maintenance.py +++ b/app/handlers/admin/maintenance.py @@ -26,12 +26,10 @@ async def show_maintenance_panel( db: AsyncSession, state: FSMContext ): - """Показывает панель управления техработами""" texts = get_texts(db_user.language) status_info = maintenance_service.get_status_info() - # Формируем информацию о статусе status_emoji = "🔧" if status_info["is_active"] else "✅" status_text = "Включен" if status_info["is_active"] else "Выключен" @@ -41,7 +39,6 @@ async def show_maintenance_panel( monitoring_emoji = "🔄" if status_info["monitoring_active"] else "⏹️" monitoring_text = "Запущен" if status_info["monitoring_active"] else "Остановлен" - # Информация о включении enabled_info = "" if status_info["is_active"] and status_info["enabled_at"]: enabled_time = status_info["enabled_at"].strftime("%d.%m.%Y %H:%M:%S") @@ -49,13 +46,11 @@ async def show_maintenance_panel( if status_info["reason"]: enabled_info += f"\n📝 Причина: {status_info['reason']}" - # Информация о последней проверке last_check_info = "" if status_info["last_check"]: last_check_time = status_info["last_check"].strftime("%H:%M:%S") last_check_info = f"\n🕐 Последняя проверка: {last_check_time}" - # Информация о неудачных попытках failures_info = "" if status_info["consecutive_failures"] > 0: failures_info = f"\n⚠️ Неудачных проверок подряд: {status_info['consecutive_failures']}" @@ -90,18 +85,15 @@ async def toggle_maintenance_mode( db: AsyncSession, state: FSMContext ): - """Переключает режим техработ""" is_active = maintenance_service.is_maintenance_active() if is_active: - # Выключаем техработы success = await maintenance_service.disable_maintenance() if success: await callback.answer("Режим техработ выключен", show_alert=True) else: await callback.answer("Ошибка выключения режима техработ", show_alert=True) else: - # Включаем техработы - спрашиваем причину await state.set_state(MaintenanceStates.waiting_for_reason) await callback.message.edit_text( "🔧 Включение режима техработ\n\nВведите причину включения техработ или отправьте /skip для пропуска:", @@ -121,7 +113,6 @@ async def process_maintenance_reason( db: AsyncSession, state: FSMContext ): - """Обрабатывает ввод причины техработ""" current_state = await state.get_state() if current_state != MaintenanceStates.waiting_for_reason: @@ -129,7 +120,7 @@ async def process_maintenance_reason( reason = None if message.text and message.text != "/skip": - reason = message.text[:200] # Ограничиваем длину + reason = message.text[:200] success = await maintenance_service.enable_maintenance(reason=reason, auto=False) @@ -143,7 +134,6 @@ async def process_maintenance_reason( await message.answer(response_text) await state.clear() - # Показываем обновленную панель status_info = maintenance_service.get_status_info() await message.answer( "Вернуться к панели управления техработами:", @@ -160,7 +150,6 @@ async def toggle_monitoring( db_user: User, db: AsyncSession ): - """Переключает мониторинг API""" status_info = maintenance_service.get_status_info() if status_info["monitoring_active"]: @@ -172,7 +161,6 @@ async def toggle_monitoring( await callback.answer(message, show_alert=True) - # Обновляем панель await show_maintenance_panel(callback, db_user, db, None) @@ -183,7 +171,6 @@ async def force_api_check( db_user: User, db: AsyncSession ): - """Принудительная проверка API""" await callback.answer("Проверка API...", show_alert=False) check_result = await maintenance_service.force_api_check() @@ -196,7 +183,6 @@ async def force_api_check( await callback.message.answer(message) - # Обновляем панель await show_maintenance_panel(callback, db_user, db, None) @@ -207,7 +193,6 @@ async def back_to_admin_panel( db_user: User, db: AsyncSession ): - """Возвращение в главную админку""" texts = get_texts(db_user.language) await callback.message.edit_text( @@ -218,40 +203,33 @@ async def back_to_admin_panel( def register_handlers(dp: Dispatcher): - """Регистрирует обработчики техработ""" - # Панель управления техработами dp.callback_query.register( show_maintenance_panel, F.data == "maintenance_panel" ) - # Переключение режима техработ dp.callback_query.register( toggle_maintenance_mode, F.data == "maintenance_toggle" ) - # Переключение мониторинга dp.callback_query.register( toggle_monitoring, F.data == "maintenance_monitoring" ) - # Принудительная проверка API dp.callback_query.register( force_api_check, F.data == "maintenance_check_api" ) - # Возврат в админку dp.callback_query.register( back_to_admin_panel, F.data == "admin_panel" ) - # Обработка ввода причины техработ dp.message.register( process_maintenance_reason, MaintenanceStates.waiting_for_reason - ) \ No newline at end of file + )