Optimize import statements and remove unused imports across multiple files

This commit focuses on cleaning up import statements by:
- Removing unused imports
- Organizing import order
- Removing redundant imports
- Ensuring consistent import style across different modules
This commit is contained in:
Zakhar Izmaylov
2025-01-29 07:15:20 +03:00
parent d47952fe3e
commit b1739cf4ea
21 changed files with 40 additions and 1483 deletions
+4 -3
View File
@@ -2,7 +2,6 @@ import os
import subprocess
from datetime import datetime
import aiofiles
from aiogram.types import BufferedInputFile
from config import ADMIN_ID, BACK_DIR, DB_NAME, DB_PASSWORD, DB_USER, PG_HOST, PG_PORT
@@ -99,9 +98,11 @@ async def create_backup_and_send_to_admins(xui) -> None:
async def _send_backup_to_admins(backup_file_path: str) -> None:
try:
from bot import bot
import aiofiles
with open(backup_file_path, "rb") as backup_file:
backup_input_file = BufferedInputFile(file=backup_file.read(), filename=os.path.basename(backup_file_path))
async with aiofiles.open(backup_file_path, "rb") as backup_file:
backup_data = await backup_file.read()
backup_input_file = BufferedInputFile(file=backup_data, filename=os.path.basename(backup_file_path))
admin_ids = ADMIN_ID if isinstance(ADMIN_ID, list) else [ADMIN_ID]
for admin_id in admin_ids:
await bot.send_document(chat_id=admin_id, document=backup_input_file)
+4 -3
View File
@@ -1,5 +1,6 @@
from dataclasses import dataclass
from typing import Optional, Dict, Any, List
from typing import Any
import py3xui
from config import LIMIT_IP, SUPERNODE
@@ -22,7 +23,7 @@ class ClientConfig:
sub_id: str
async def add_client(xui: py3xui.API, config: ClientConfig) -> Dict[str, Any]:
async def add_client(xui: py3xui.API, config: ClientConfig) -> dict[str, Any]:
"""
Добавляет клиента на сервер через 3x-ui.
@@ -66,7 +67,7 @@ async def add_client(xui: py3xui.API, config: ClientConfig) -> Dict[str, Any]:
async def extend_client_key(
xui: py3xui.API, inbound_id: int, email: str, new_expiry_time: int, client_id: str, total_gb: int, sub_id: str
) -> Optional[bool]:
) -> bool | None:
"""
Обновляет срок действия ключа клиента.
+1 -1444
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,7 +1,7 @@
from typing import Any
from aiogram import F, Router
from aiogram.types import CallbackQuery, BufferedInputFile
from aiogram.types import BufferedInputFile, CallbackQuery
from database import delete_user_data
from filters.admin import IsAdminFilter
+2 -2
View File
@@ -4,9 +4,9 @@ from aiogram import F, Router, types
from aiogram.fsm.context import FSMContext
from aiogram.fsm.state import State, StatesGroup
from database import delete_coupon, get_all_coupons, create_coupon
from database import create_coupon, delete_coupon, get_all_coupons
from filters.admin import IsAdminFilter
from keyboards.admin.coupons_kb import build_coupons_kb, build_coupons_list_kb, AdminCouponDeleteCallback
from keyboards.admin.coupons_kb import AdminCouponDeleteCallback, build_coupons_kb, build_coupons_list_kb
from keyboards.admin.panel_kb import AdminPanelCallback, build_admin_back_kb
from logger import logger
+1 -1
View File
@@ -5,7 +5,7 @@ from aiogram.types import CallbackQuery
from bot import version
from filters.admin import IsAdminFilter
from keyboards.admin.panel_kb import build_panel_kb, AdminPanelCallback, build_management_kb
from keyboards.admin.panel_kb import AdminPanelCallback, build_management_kb, build_panel_kb
router = Router()
+1 -1
View File
@@ -4,7 +4,7 @@ from aiogram import F, Router
from aiogram.types import CallbackQuery
from filters.admin import IsAdminFilter
from keyboards.admin.panel_kb import build_restart_kb, AdminPanelCallback, build_admin_back_kb
from keyboards.admin.panel_kb import AdminPanelCallback, build_admin_back_kb, build_restart_kb
router = Router()
+1 -1
View File
@@ -8,7 +8,7 @@ from aiogram.types import CallbackQuery
from filters.admin import IsAdminFilter
from keyboards.admin.panel_kb import AdminPanelCallback, build_admin_back_kb
from keyboards.admin.sender_kb import build_sender_kb, AdminSenderCallback
from keyboards.admin.sender_kb import AdminSenderCallback, build_sender_kb
from logger import logger
router = Router()
+4 -4
View File
@@ -6,15 +6,15 @@ from py3xui import AsyncApi
from backup import create_backup_and_send_to_admins
from config import ADMIN_PASSWORD, ADMIN_USERNAME, DATABASE_URL
from database import create_server, check_unique_server_name, delete_server, get_keys_by_server, get_servers
from database import check_unique_server_name, delete_server, get_servers
from filters.admin import IsAdminFilter
from keyboards.admin.panel_kb import AdminPanelCallback, build_admin_back_kb
from keyboards.admin.servers_kb import (
build_manage_server_kb,
AdminServerEditorCallback,
build_clusters_editor_kb,
build_delete_server_kb,
build_manage_cluster_kb,
build_clusters_editor_kb,
AdminServerEditorCallback,
build_manage_server_kb,
)
router = Router()
+1 -1
View File
@@ -16,8 +16,8 @@ from database import (
get_key_details,
get_keys,
get_servers,
update_trial,
update_key_expiry,
update_trial,
)
from filters.admin import IsAdminFilter
from handlers.keys.key_utils import (
+10 -10
View File
@@ -21,17 +21,17 @@ from handlers.keys.key_utils import (
from handlers.utils import sanitize_key_name
from keyboards.admin.panel_kb import AdminPanelCallback, build_admin_back_kb
from keyboards.admin.users_kb import (
build_user_edit_kb,
build_key_edit_kb,
build_key_delete_kb,
build_user_delete_kb,
AdminUserEditorCallback,
build_editor_kb,
build_users_balance_kb,
build_users_balance_change_kb,
build_user_key_kb,
build_users_key_expiry_kb,
AdminUserKeyEditorCallback,
build_editor_kb,
build_key_delete_kb,
build_key_edit_kb,
build_user_delete_kb,
build_user_edit_kb,
build_user_key_kb,
build_users_balance_change_kb,
build_users_balance_kb,
build_users_key_expiry_kb,
build_users_key_show_kb,
)
from logger import logger
@@ -428,7 +428,7 @@ async def handle_expiry_time_input(message: types.Message, state: FSMContext, se
text = f"✅ Время действия ключа изменено на <b>{message.text}</b>"
await change_expiry_time(expiry_time, email, session)
except ValueError:
text = f"🚫 Пожалуйста, используйте корректный формат даты!"
text = "🚫 Пожалуйста, используйте корректный формат даты!"
except Exception as e:
text = f"❗ Произошла ошибка во время изменения времени действия ключа: {e}"
-1
View File
@@ -1,4 +1,3 @@
from datetime import datetime
from typing import Any
from aiogram import F, Router, types
+1 -1
View File
@@ -24,10 +24,10 @@ from config import (
USE_NEW_PAYMENT_FLOW,
)
from database import (
create_temporary_data,
get_balance,
get_key_details,
get_trial,
create_temporary_data,
store_key,
update_balance,
)
+1 -1
View File
@@ -4,7 +4,7 @@ from typing import Any
from py3xui import AsyncApi
from client import ClientConfig, add_client, delete_client, extend_client_key
from config import ADMIN_PASSWORD, ADMIN_USERNAME, LIMIT_IP, SUPERNODE, TOTAL_GB, PUBLIC_LINK
from config import ADMIN_PASSWORD, ADMIN_USERNAME, LIMIT_IP, PUBLIC_LINK, SUPERNODE, TOTAL_GB
from database import get_servers, store_key
from handlers.utils import get_least_loaded_cluster
from logger import logger
+2 -3
View File
@@ -10,7 +10,6 @@ import pytz
from aiogram import F, Router, types
from aiogram.types import BufferedInputFile, InlineKeyboardButton
from aiogram.utils.keyboard import InlineKeyboardBuilder
from handlers.payments.yookassa_pay import process_custom_amount_input
from bot import bot
from config import (
@@ -29,14 +28,13 @@ from config import (
)
from database import (
check_server_name_by_cluster,
create_temporary_data,
delete_key,
get_balance,
get_key_details,
get_keys,
get_keys_by_server,
get_servers,
create_temporary_data,
store_key,
update_balance,
update_key_expiry,
)
@@ -55,6 +53,7 @@ from handlers.keys.key_utils import (
update_subscription,
)
from handlers.payments.robokassa_pay import handle_custom_amount_input
from handlers.payments.yookassa_pay import process_custom_amount_input
from handlers.texts import (
DISCOUNTS,
KEY_NOT_FOUND_MSG,
+1 -1
View File
@@ -23,9 +23,9 @@ from config import (
TRIAL_TIME,
)
from database import (
create_blocked_user,
add_notification,
check_notification_time,
create_blocked_user,
delete_key,
get_balance,
get_servers,
+1 -1
View File
@@ -1,7 +1,7 @@
from aiogram.types import InlineKeyboardMarkup
from aiogram.utils.keyboard import InlineKeyboardBuilder
from keyboards.admin.panel_kb import build_admin_back_btn, AdminPanelCallback
from keyboards.admin.panel_kb import AdminPanelCallback, build_admin_back_btn
def build_bans_kb() -> InlineKeyboardMarkup:
+1 -1
View File
@@ -1,5 +1,5 @@
from aiogram.filters.callback_data import CallbackData
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup
from aiogram.utils.keyboard import InlineKeyboardBuilder
+1 -1
View File
@@ -1,7 +1,7 @@
from aiogram.types import InlineKeyboardMarkup
from aiogram.utils.keyboard import InlineKeyboardBuilder
from keyboards.admin.panel_kb import build_admin_back_btn, AdminPanelCallback
from keyboards.admin.panel_kb import AdminPanelCallback, build_admin_back_btn
def build_stats_kb() -> InlineKeyboardMarkup:
+1 -1
View File
@@ -143,7 +143,7 @@ def build_user_delete_kb(tg_id: int):
def build_user_key_kb(tg_id: int, email: str) -> InlineKeyboardMarkup:
builder = InlineKeyboardBuilder()
builder.button(
text=f"🔙 Назад", callback_data=AdminUserEditorCallback(action="users_key_edit", tg_id=tg_id, data=email).pack()
text="🔙 Назад", callback_data=AdminUserEditorCallback(action="users_key_edit", tg_id=tg_id, data=email).pack()
)
builder.adjust(1)
return builder.as_markup()
+1 -1
View File
@@ -9,7 +9,7 @@ from ping3 import ping
from bot import bot
from config import ADMIN_ID, DATABASE_URL, PING_TIME
from database import create_server, check_unique_server_name, get_servers
from database import check_unique_server_name, create_server, get_servers
from logger import logger
try: