Refactor and clean up code formatting across multiple files

- Consolidated and simplified code formatting by removing unnecessary line breaks and improving readability in various functions.
- Updated the handling of backup file sending in backup.py for better clarity.
- Streamlined error handling and logging messages in several handlers to enhance consistency.
- Adjusted the Makefile to exclude specific files during Ruff checks and formatting.
- Made minor adjustments to function signatures and parameter handling for improved clarity and consistency.

This commit enhances code maintainability and readability without altering functionality.
This commit is contained in:
Zakhar Izmaylov
2025-01-21 08:57:12 +03:00
parent ffc18f4056
commit acb73101c0
33 changed files with 446 additions and 1124 deletions
+13 -42
View File
@@ -16,9 +16,7 @@ try:
from config import CLUSTERS
except ImportError:
CLUSTERS = None
logger.warning(
"Переменная CLUSTERS не найдена в конфигурации. Добавьте сервера через админ-панель!"
)
logger.warning("Переменная CLUSTERS не найдена в конфигурации. Добавьте сервера через админ-панель!")
async def sync_servers_with_db():
@@ -27,9 +25,7 @@ async def sync_servers_with_db():
Если CLUSTERS не найден, синхронизация не будет выполнена.
"""
if CLUSTERS is None:
logger.info(
"Конфигурация CLUSTERS не найдена. Синхронизация не будет выполнена."
)
logger.info("Конфигурация CLUSTERS не найдена. Синхронизация не будет выполнена.")
return
try:
@@ -59,13 +55,9 @@ async def sync_servers_with_db():
server_info["SUBSCRIPTION"],
server_info["INBOUND_ID"],
)
logger.info(
f"Сервер {server_info['name']} из кластера {cluster_name} добавлен в базу данных."
)
logger.info(f"Сервер {server_info['name']} из кластера {cluster_name} добавлен в базу данных.")
else:
logger.info(
f"Сервер {server_info['name']} из кластера {cluster_name} уже существует."
)
logger.info(f"Сервер {server_info['name']} из кластера {cluster_name} уже существует.")
except Exception as e:
logger.error(f"Ошибка при синхронизации серверов: {e}")
@@ -104,25 +96,14 @@ async def notify_admin(server_name: str):
current_time = datetime.now()
last_notification_time = last_notification_times.get(server_name)
if (
last_notification_time
and current_time - last_notification_time < timedelta(minutes=3)
):
logger.info(
f"Не отправляем уведомление для сервера {server_name}, так как прошло менее 3 минут."
)
if last_notification_time and current_time - last_notification_time < timedelta(minutes=3):
logger.info(f"Не отправляем уведомление для сервера {server_name}, так как прошло менее 3 минут.")
return
logger.info(
f"Отправка уведомлений администратору о недоступности сервера {server_name}..."
)
logger.info(f"Отправка уведомлений администратору о недоступности сервера {server_name}...")
builder = InlineKeyboardBuilder()
builder.row(
InlineKeyboardButton(
text="Управление сервером", callback_data=f"manage_server|{server_name}"
)
)
builder.row(InlineKeyboardButton(text="Управление сервером", callback_data=f"manage_server|{server_name}"))
for admin_id in ADMIN_ID:
await bot.send_message(
@@ -134,9 +115,7 @@ async def notify_admin(server_name: str):
),
reply_markup=builder.as_markup(),
)
logger.info(
f"Уведомление отправлено администратору с ID {admin_id} о сервере {server_name}."
)
logger.info(f"Уведомление отправлено администратору с ID {admin_id} о сервере {server_name}.")
last_notification_times[server_name] = current_time
except Exception as e:
@@ -160,9 +139,7 @@ async def check_servers():
server_name = server["server_name"]
server_host = extract_host(original_api_url)
logger.debug(
f"Проверка доступности сервера '{server_name}' с хостом {server_host}"
)
logger.debug(f"Проверка доступности сервера '{server_name}' с хостом {server_host}")
is_online = await ping_server(server_host)
@@ -170,18 +147,12 @@ async def check_servers():
last_ping_times[server_name] = current_time
else:
last_ping_time = last_ping_times.get(server_name)
if last_ping_time and current_time - last_ping_time > timedelta(
minutes=3
):
logger.warning(
f"Сервер {server_name} не отвечает более 3 минут. Отправляю уведомление."
)
if last_ping_time and current_time - last_ping_time > timedelta(minutes=3):
logger.warning(f"Сервер {server_name} не отвечает более 3 минут. Отправляю уведомление.")
await notify_admin(server_name)
elif not last_ping_time:
last_ping_times[server_name] = current_time
logger.info(
f"Сервер {server_name} не отвечал ранее, но теперь зарегистрирован."
)
logger.info(f"Сервер {server_name} не отвечал ранее, но теперь зарегистрирован.")
logger.info("Завершена проверка всех серверов.")
await asyncio.sleep(PING_TIME)