all modules: fix errors

parent 673f3cf4
......@@ -22,7 +22,7 @@ async def bugs_handler(m: Message, user: User | None, maintainer: str | None = N
_maintainer = maintainer.lower()
maintainer = DB.maintainer.get(_maintainer)
if not maintainer:
await m.answer(f"Сопровождающий {_maintainer} не найден.")
await m.answer(f"Сопровождающий не найден.")
return
else:
if user:
......
......@@ -20,7 +20,7 @@ async def ftbfs_handler(m: Message, user: User | None, _maintainer: str | None =
if not _maintainer and not any(
_g.group == maintainer for _g in group_data.groups
) and not maintainer in ["@nobody"]:
await m.answer(f"Сопровождающий или группа {maintainer} не найдены.")
await m.answer(f"Сопровождающий или группа не найдены.")
return
else:
......
......@@ -15,7 +15,7 @@ dp = Dispatch()
"news",
Argument("news_type", optional=True),
Argument("translate", optional=True),
)
), IsPrivate()
)
@dp.callback_query(CallbackDataMarkup("news/<news_type>/<translate:int>"))
async def news_handler(
......
......@@ -20,7 +20,7 @@ async def statistics_handler(m: Message, user: User | None, branch: str | None =
if branch:
branch = branch.strip().lower()
if branch not in active_branches:
await m.answer(f"Репозиторий {branch} не найден")
await m.answer(f"Репозиторий не найден")
return
else:
if user:
......
from telegrinder import Dispatch, Message
from telegrinder.rules import Command, Argument, Text, IsUser
from telegrinder.rules import Command, Argument, Text, IsPrivate
from telegrinder.tools.formatting import HTMLFormatter
from altrepo import altrepo
......@@ -7,7 +7,7 @@ from altrepo import altrepo
from database.models import User
from database.func import DB
from data.keyboards import watch_keyboards
from services.utils import _bold
from services.utils import _bold, is_valid_str
dp = Dispatch()
......@@ -17,7 +17,7 @@ dp = Dispatch()
Argument("maintainer", optional=True),
Argument("acl", optional=True))
)
@dp.message(Text(["watch", "отслеживание"], ignore_case=True), IsUser())
@dp.message(Text(["watch", "отслеживание"], ignore_case=True), IsPrivate())
async def watch_test_handler(
m: Message, user: User | None, maintainer: str | None = None, acl: str | None = None
) -> None:
......@@ -26,7 +26,7 @@ async def watch_test_handler(
maintainer = maintainer.lower()
_maintainer = DB.maintainer.get(maintainer)
if not _maintainer:
await m.answer(f"Сопровождающий {maintainer} не найден.")
await m.answer(f"Сопровождающий не найден.")
return
else:
if user:
......@@ -34,7 +34,7 @@ async def watch_test_handler(
else:
return
acl = acl or "by-acl"
acl = acl if is_valid_str(acl) else "by-acl"
watch_data = await altrepo.parser.packages.watch_by_maintainer(maintainer, acl)
if not len(watch_data):
......
......@@ -2,6 +2,7 @@ from telegrinder.tools.formatting import HTMLFormatter, bold
import asyncio
from database.func import DB
import re
async def _translate(text):
......@@ -53,3 +54,7 @@ def chunk_list(lst, size):
def _bold(text: str):
return HTMLFormatter(bold(text))
def is_valid_str(name: str) -> bool:
pattern = r"^[A-Za-z0-9@]+$"
return re.fullmatch(pattern, name) is not None
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment