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:
@@ -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)
|
||||
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 (
|
||||
|
||||
@@ -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,4 +1,3 @@
|
||||
from datetime import datetime
|
||||
from typing import Any
|
||||
|
||||
from aiogram import F, Router, types
|
||||
|
||||
@@ -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,
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,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,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,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:
|
||||
|
||||
@@ -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
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user