tasks: update tasks command

parent 80856eb8
...@@ -12,7 +12,7 @@ from services.utils import _bold, date_format, int_validator ...@@ -12,7 +12,7 @@ from services.utils import _bold, date_format, int_validator
from data.keyboards import tasks_keyboards from data.keyboards import tasks_keyboards
from config import TASK_URL from config import TASK_URL, DEFAUIL_BRANCHES
dp = Dispatch() dp = Dispatch()
...@@ -20,43 +20,31 @@ dp = Dispatch() ...@@ -20,43 +20,31 @@ dp = Dispatch()
@dp.message(Command("tasks", Argument("maintainer", optional=True), Argument("branch", optional=True))) @dp.message(Command("tasks", Argument("maintainer", optional=True), Argument("branch", optional=True)))
async def tasks_handler(m: Message, user: User | None, maintainer: str | None = None, branch: str | None = None) -> None: async def tasks_handler(m: Message, user: User | None, maintainer: str | None = None, branch: str | None = None) -> None:
if not branch: branch = branch or (user.default_branch if user else "sisyphus")
if user: if branch not in DEFAUIL_BRANCHES:
branch = user.default_branch return await m.answer("Репозиторий не найден.")
else:
branch = "sisyphus"
if maintainer: if maintainer:
_maintainer = maintainer.lower() maintainer = DB.maintainer.get(maintainer.lower())
maintainer = DB.maintainer.get(_maintainer)
if not maintainer: if not maintainer:
await m.answer("Сопровождающий не найден.") return await m.answer("Сопровождающий не найден.")
return elif user:
maintainer = user.maintainer
else: else:
if user: return
maintainer = user.maintainer
else:
return
tasks_data = await altrepo.api.task.progress.find_tasks(
input=[f"@{maintainer.nickname}"], branch=branch
)
try: try:
tasks_data = await altrepo.api.task.progress.find_tasks( tasks_data = await altrepo.api.task.progress.find_tasks(
input=[f"@{maintainer.nickname}"], branch=branch input=[f"@{maintainer.nickname}"], branch=branch
) )
except DataNotFoundError: except DataNotFoundError:
await m.answer("Таски не найдены.") return await m.answer("Таски не найдены.")
return
if not tasks_data.tasks:
await m.answer("Нет тасков.")
return
tasks = [task for task in tasks_data.tasks if task.task_state not in ["DONE"]]
tasks_message = await create_tasks_message(tasks) tasks = [task for task in tasks_data.tasks if task.task_state != "DONE"]
if not tasks:
return await m.answer("Нет тасков.")
await m.answer(tasks_message) await m.answer(await create_tasks_message(tasks))
@dp.message(Command("task_search", Argument("args", optional=True))) @dp.message(Command("task_search", Argument("args", optional=True)))
......
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