mirror of
https://gitflic.ru/project/alt-gnome/karkas.git
synced 2024-12-24 16:44:46 +03:00
добавляет правило TC200
This commit is contained in:
parent
9ca5264c6d
commit
29be6782d6
2
.flake8
2
.flake8
@ -5,4 +5,4 @@ max-line-length = 88
|
|||||||
count = true
|
count = true
|
||||||
extend-ignore = E203,E701
|
extend-ignore = E203,E701
|
||||||
|
|
||||||
extend-select = TC010
|
extend-select = TC010,TC200
|
||||||
|
@ -18,7 +18,7 @@ if TYPE_CHECKING:
|
|||||||
from .config_manager import ConfigManager
|
from .config_manager import ConfigManager
|
||||||
|
|
||||||
|
|
||||||
def create_control(key: str, config: ConfigManager):
|
def create_control(key: str, config: "ConfigManager"):
|
||||||
value = config.get(key)
|
value = config.get(key)
|
||||||
meta = config.get_meta(key)
|
meta = config.get_meta(key)
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ def create_control(key: str, config: ConfigManager):
|
|||||||
return dbc.Row(row, className="mb-3 mx-1")
|
return dbc.Row(row, className="mb-3 mx-1")
|
||||||
|
|
||||||
|
|
||||||
def build_settings_tree(config: ConfigManager):
|
def build_settings_tree(config: "ConfigManager"):
|
||||||
tree = {}
|
tree = {}
|
||||||
|
|
||||||
for key, value in config._metadata.items():
|
for key, value in config._metadata.items():
|
||||||
@ -134,7 +134,7 @@ def create_settings_components(tree, level=0):
|
|||||||
return components
|
return components
|
||||||
|
|
||||||
|
|
||||||
def get_miniapp_blueprint(config: ConfigManager, prefix: str):
|
def get_miniapp_blueprint(config: "ConfigManager", prefix: str):
|
||||||
Roles: "type[IRoles]" = get_module("standard.roles", "Roles")
|
Roles: "type[IRoles]" = get_module("standard.roles", "Roles")
|
||||||
|
|
||||||
roles = Roles()
|
roles = Roles()
|
||||||
|
@ -35,7 +35,7 @@ def get_approved_chat_id() -> list:
|
|||||||
|
|
||||||
|
|
||||||
@deprecated("Use ChatIDFilter or own implementation")
|
@deprecated("Use ChatIDFilter or own implementation")
|
||||||
def chat_not_in_approve(message: Message) -> bool:
|
def chat_not_in_approve(message: "Message") -> bool:
|
||||||
chat_id = message.chat.id
|
chat_id = message.chat.id
|
||||||
if chat_id in get_approved_chat_id():
|
if chat_id in get_approved_chat_id():
|
||||||
# log(f"Chat in approve list: {chat_id}")
|
# log(f"Chat in approve list: {chat_id}")
|
||||||
@ -51,7 +51,7 @@ class ChatIDFilter(BaseFilter):
|
|||||||
self.approved_chats = approved_chats
|
self.approved_chats = approved_chats
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
|
||||||
async def __call__(self, message: Message, bot: Bot) -> bool:
|
async def __call__(self, message: "Message", bot: "Bot") -> bool:
|
||||||
chat_id = message.chat.id
|
chat_id = message.chat.id
|
||||||
|
|
||||||
approved_chats = self.approved_chats or get_approved_chat_id()
|
approved_chats = self.approved_chats or get_approved_chat_id()
|
||||||
@ -71,7 +71,7 @@ class ChatNotInApproveFilter(ChatIDFilter):
|
|||||||
|
|
||||||
|
|
||||||
class ChatModerOrAdminFilter(BaseFilter):
|
class ChatModerOrAdminFilter(BaseFilter):
|
||||||
async def __call__(self, message: Message, bot: Bot) -> bool:
|
async def __call__(self, message: "Message", bot: "Bot") -> bool:
|
||||||
if not ROLES_MODULE_LOADED:
|
if not ROLES_MODULE_LOADED:
|
||||||
raise Exception("Roles module not loaded")
|
raise Exception("Roles module not loaded")
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ def format_commands(commands_dict):
|
|||||||
return "\n".join(formatted_commands)
|
return "\n".join(formatted_commands)
|
||||||
|
|
||||||
|
|
||||||
async def help(message: Message):
|
async def help(message: "Message"):
|
||||||
commands = ""
|
commands = ""
|
||||||
version = ""
|
version = ""
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ verification_tasks = MultiKeyDict()
|
|||||||
last_success = {}
|
last_success = {}
|
||||||
|
|
||||||
|
|
||||||
async def new_member_handler(event: ChatMemberUpdated, bot: Bot):
|
async def new_member_handler(event: "ChatMemberUpdated", bot: Bot):
|
||||||
# НЕ СРАБОТАЕТ, ЕСЛИ ЧЕЛОВЕК УЖЕ ОГРАНИЧЕН В ПРАВАХ (RESTRICTED)
|
# НЕ СРАБОТАЕТ, ЕСЛИ ЧЕЛОВЕК УЖЕ ОГРАНИЧЕН В ПРАВАХ (RESTRICTED)
|
||||||
if event.new_chat_member.status == ChatMemberStatus.MEMBER:
|
if event.new_chat_member.status == ChatMemberStatus.MEMBER:
|
||||||
task = task_manager.build_random_task(event, bot)
|
task = task_manager.build_random_task(event, bot)
|
||||||
@ -88,7 +88,7 @@ async def new_member_handler(event: ChatMemberUpdated, bot: Bot):
|
|||||||
verification_tasks.add(task, keys)
|
verification_tasks.add(task, keys)
|
||||||
|
|
||||||
|
|
||||||
async def left_member_handler(event: ChatMemberUpdated, bot: Bot):
|
async def left_member_handler(event: "ChatMemberUpdated", bot: Bot):
|
||||||
user_id = event.from_user.id
|
user_id = event.from_user.id
|
||||||
chat_id = event.chat.id
|
chat_id = event.chat.id
|
||||||
|
|
||||||
@ -145,7 +145,7 @@ async def success_end(task: BaseTask):
|
|||||||
last_success[task.from_chat_id] = message.message_id
|
last_success[task.from_chat_id] = message.message_id
|
||||||
|
|
||||||
|
|
||||||
async def handle_poll_verification(answer: PollAnswer, bot: Bot):
|
async def handle_poll_verification(answer: "PollAnswer", bot: Bot):
|
||||||
key = key_from_poll(answer.poll_id)
|
key = key_from_poll(answer.poll_id)
|
||||||
if not verification_tasks.exists(key):
|
if not verification_tasks.exists(key):
|
||||||
return
|
return
|
||||||
|
@ -17,8 +17,8 @@ if TYPE_CHECKING:
|
|||||||
class BaseTask:
|
class BaseTask:
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
event: ChatMemberUpdated,
|
event: "ChatMemberUpdated",
|
||||||
bot: Bot,
|
bot: "Bot",
|
||||||
timeout_func=None,
|
timeout_func=None,
|
||||||
attempt_number=1,
|
attempt_number=1,
|
||||||
max_attempts=1,
|
max_attempts=1,
|
||||||
|
@ -123,8 +123,8 @@ class SimpleInlineButtonsTask(SimpleVariantsBaseTask):
|
|||||||
class SimplePollTask(SimpleVariantsBaseTask):
|
class SimplePollTask(SimpleVariantsBaseTask):
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
event: ChatMemberUpdated,
|
event: "ChatMemberUpdated",
|
||||||
bot: Bot,
|
bot: "Bot",
|
||||||
timeout_func=None,
|
timeout_func=None,
|
||||||
attempt_number=1,
|
attempt_number=1,
|
||||||
max_attempts=1,
|
max_attempts=1,
|
||||||
|
@ -17,7 +17,7 @@ def user_mention(user: User, mode=ParseMode.HTML):
|
|||||||
raise ValueError(f"Unknown parse mode {mode}")
|
raise ValueError(f"Unknown parse mode {mode}")
|
||||||
|
|
||||||
|
|
||||||
async def mute_user(chat_id, user_id, until, bot: Bot):
|
async def mute_user(chat_id, user_id, until, bot: "Bot"):
|
||||||
end_time = until + int(time.time())
|
end_time = until + int(time.time())
|
||||||
await bot.restrict_chat_member(
|
await bot.restrict_chat_member(
|
||||||
chat_id,
|
chat_id,
|
||||||
@ -43,7 +43,7 @@ async def mute_user(chat_id, user_id, until, bot: Bot):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def unmute_user(chat_id, user_id, bot: Bot):
|
async def unmute_user(chat_id, user_id, bot: "Bot"):
|
||||||
await bot.restrict_chat_member(
|
await bot.restrict_chat_member(
|
||||||
chat_id,
|
chat_id,
|
||||||
user_id,
|
user_id,
|
||||||
|
@ -20,8 +20,8 @@ def get_module_directory(module_name):
|
|||||||
return os.path.dirname(module_path)
|
return os.path.dirname(module_path)
|
||||||
|
|
||||||
|
|
||||||
async def register_bot_webhook(app: FastAPI, bot: Bot, dp: Dispatcher):
|
async def register_bot_webhook(app: "FastAPI", bot: "Bot", dp: "Dispatcher"):
|
||||||
async def handle_webhook(request: Request):
|
async def handle_webhook(request: "Request"):
|
||||||
try:
|
try:
|
||||||
update = Update.model_validate(await request.json(), context={"bot": bot})
|
update = Update.model_validate(await request.json(), context={"bot": bot})
|
||||||
await dp.feed_update(bot, update)
|
await dp.feed_update(bot, update)
|
||||||
|
@ -41,5 +41,5 @@ class AbstractLoader:
|
|||||||
def info(self) -> ModuleInfo:
|
def info(self) -> ModuleInfo:
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
def load(self) -> types.ModuleType:
|
def load(self) -> "types.ModuleType":
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
@ -18,12 +18,12 @@ async def set_chat_menu_button(menu_button):
|
|||||||
await app.bot.set_chat_menu_button(menu_button=menu_button)
|
await app.bot.set_chat_menu_button(menu_button=menu_button)
|
||||||
|
|
||||||
|
|
||||||
def register_router(router: Router):
|
def register_router(router: "Router"):
|
||||||
app = Singleton()
|
app = Singleton()
|
||||||
app.storage["_routers"].append(router)
|
app.storage["_routers"].append(router)
|
||||||
|
|
||||||
|
|
||||||
def register_outer_message_middleware(middleware: BaseMiddleware):
|
def register_outer_message_middleware(middleware: "BaseMiddleware"):
|
||||||
app = Singleton()
|
app = Singleton()
|
||||||
app.storage["_outer_message_middlewares"].append(middleware)
|
app.storage["_outer_message_middlewares"].append(middleware)
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ class RestrictedPythonPolicy(RestrictingNodeTransformer):
|
|||||||
return self.node_contents_visit(node)
|
return self.node_contents_visit(node)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def visit_AnnAssign(self, node: AnnAssign) -> Any:
|
def visit_AnnAssign(self, node: "AnnAssign") -> Any:
|
||||||
# missing in RestrictingNodeTransformer
|
# missing in RestrictingNodeTransformer
|
||||||
# this doesn't need the logic that is in visit_Assign
|
# this doesn't need the logic that is in visit_Assign
|
||||||
# because it doesn't have a "targets" attribute,
|
# because it doesn't have a "targets" attribute,
|
||||||
|
@ -19,9 +19,9 @@ class SingletonMeta(type):
|
|||||||
|
|
||||||
|
|
||||||
class Singleton(metaclass=SingletonMeta):
|
class Singleton(metaclass=SingletonMeta):
|
||||||
bot: Bot
|
bot: "Bot"
|
||||||
dp: Dispatcher = None
|
dp: "Dispatcher" = None
|
||||||
modules_manager: ModulesManager = None
|
modules_manager: "ModulesManager" = None
|
||||||
storage = {
|
storage = {
|
||||||
"_fsm_storage": MemoryStorage(),
|
"_fsm_storage": MemoryStorage(),
|
||||||
"_routers": [],
|
"_routers": [],
|
||||||
|
Loading…
Reference in New Issue
Block a user