all modules: fix errors

parent 673f3cf4
...@@ -22,7 +22,7 @@ async def bugs_handler(m: Message, user: User | None, maintainer: str | None = N ...@@ -22,7 +22,7 @@ async def bugs_handler(m: Message, user: User | None, maintainer: str | None = N
_maintainer = maintainer.lower() _maintainer = maintainer.lower()
maintainer = DB.maintainer.get(_maintainer) maintainer = DB.maintainer.get(_maintainer)
if not maintainer: if not maintainer:
await m.answer(f"Сопровождающий {_maintainer} не найден.") await m.answer(f"Сопровождающий не найден.")
return return
else: else:
if user: if user:
......
...@@ -20,7 +20,7 @@ async def ftbfs_handler(m: Message, user: User | None, _maintainer: str | None = ...@@ -20,7 +20,7 @@ async def ftbfs_handler(m: Message, user: User | None, _maintainer: str | None =
if not _maintainer and not any( if not _maintainer and not any(
_g.group == maintainer for _g in group_data.groups _g.group == maintainer for _g in group_data.groups
) and not maintainer in ["@nobody"]: ) and not maintainer in ["@nobody"]:
await m.answer(f"Сопровождающий или группа {maintainer} не найдены.") await m.answer(f"Сопровождающий или группа не найдены.")
return return
else: else:
......
...@@ -15,7 +15,7 @@ dp = Dispatch() ...@@ -15,7 +15,7 @@ dp = Dispatch()
"news", "news",
Argument("news_type", optional=True), Argument("news_type", optional=True),
Argument("translate", optional=True), Argument("translate", optional=True),
) ), IsPrivate()
) )
@dp.callback_query(CallbackDataMarkup("news/<news_type>/<translate:int>")) @dp.callback_query(CallbackDataMarkup("news/<news_type>/<translate:int>"))
async def news_handler( async def news_handler(
......
...@@ -20,7 +20,7 @@ async def statistics_handler(m: Message, user: User | None, branch: str | None = ...@@ -20,7 +20,7 @@ async def statistics_handler(m: Message, user: User | None, branch: str | None =
if branch: if branch:
branch = branch.strip().lower() branch = branch.strip().lower()
if branch not in active_branches: if branch not in active_branches:
await m.answer(f"Репозиторий {branch} не найден") await m.answer(f"Репозиторий не найден")
return return
else: else:
if user: if user:
......
from telegrinder import Dispatch, Message 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 telegrinder.tools.formatting import HTMLFormatter
from altrepo import altrepo from altrepo import altrepo
...@@ -7,7 +7,7 @@ from altrepo import altrepo ...@@ -7,7 +7,7 @@ from altrepo import altrepo
from database.models import User from database.models import User
from database.func import DB from database.func import DB
from data.keyboards import watch_keyboards from data.keyboards import watch_keyboards
from services.utils import _bold from services.utils import _bold, is_valid_str
dp = Dispatch() dp = Dispatch()
...@@ -17,7 +17,7 @@ dp = Dispatch() ...@@ -17,7 +17,7 @@ dp = Dispatch()
Argument("maintainer", optional=True), Argument("maintainer", optional=True),
Argument("acl", 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( async def watch_test_handler(
m: Message, user: User | None, maintainer: str | None = None, acl: str | None = None m: Message, user: User | None, maintainer: str | None = None, acl: str | None = None
) -> None: ) -> None:
...@@ -26,7 +26,7 @@ async def watch_test_handler( ...@@ -26,7 +26,7 @@ async def watch_test_handler(
maintainer = maintainer.lower() maintainer = maintainer.lower()
_maintainer = DB.maintainer.get(maintainer) _maintainer = DB.maintainer.get(maintainer)
if not _maintainer: if not _maintainer:
await m.answer(f"Сопровождающий {maintainer} не найден.") await m.answer(f"Сопровождающий не найден.")
return return
else: else:
if user: if user:
...@@ -34,7 +34,7 @@ async def watch_test_handler( ...@@ -34,7 +34,7 @@ async def watch_test_handler(
else: else:
return 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) watch_data = await altrepo.parser.packages.watch_by_maintainer(maintainer, acl)
if not len(watch_data): if not len(watch_data):
......
...@@ -2,6 +2,7 @@ from telegrinder.tools.formatting import HTMLFormatter, bold ...@@ -2,6 +2,7 @@ from telegrinder.tools.formatting import HTMLFormatter, bold
import asyncio import asyncio
from database.func import DB from database.func import DB
import re
async def _translate(text): async def _translate(text):
...@@ -53,3 +54,7 @@ def chunk_list(lst, size): ...@@ -53,3 +54,7 @@ def chunk_list(lst, size):
def _bold(text: str): def _bold(text: str):
return HTMLFormatter(bold(text)) 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