task: improve the style

parent 262d2b5e
from telegrinder import Dispatch, Message
from telegrinder.rules import Command, Argument
from telegrinder.tools.formatting import HTMLFormatter
from telegrinder.tools.formatting import HTMLFormatter, code_inline
from altrepo import altrepo
from altrepo.api.errors import DataNotFoundError
......@@ -87,40 +87,49 @@ async def task_handler(m: Message, user: User | None, task: int | None = None) -
build_time = await date_format(task_data.task_changed)
subtasks_message = ""
task_message = [
_bold(
f"Таск {task_data.task_repo}/{task_data.task_id} от {task_data.task_owner}\n"),
f"Статус: {task_data.task_state} (try {task_data.task_try})",
f"Собран: {build_time}",
]
if task_data.task_message:
task_message.append(f"Сообщение: {task_data.task_message}")
markup = None
if task_data.subtasks:
subtasks_message = "\nСабтаски:\n"
task_message.append("\nСабтаски:")
last_subtask_id_len = len(str(task_data.subtasks[-1].subtask_id))
subtask_lines = []
for i, subtask in enumerate(task_data.subtasks):
markup = None
if i == 40:
subtasks_message += "..."
subtask_lines.append("...")
markup = tasks_keyboards.task_page_kb(task)
break
subtask_type = "build" if subtask.subtask_type in [
"gear", "srpm"] else subtask.subtask_type
subtask_package = subtask.subtask_package or subtask.subtask_srpm_name or \
subtask.subtask_dir.split("/")[-1].split(".")[0]
subtask_version = subtask.subtask_srpm_evr or subtask.subtask_tag_name or None
subtask_version = f"= {subtask_version}" if subtask_version else ""
subtask_version = f"/{subtask_version}" if subtask_version else ""
subtasks_message += (
f"{subtask_types[subtask_type]} | {subtask.subtask_id} | {subtask_package} {subtask_version}\n"
)
subtask_id = f"{subtask.subtask_id:<{last_subtask_id_len}}"
task_message = _bold(
f"Таск {task_data.task_repo}/{task_data.task_id} от {task_data.task_owner}\n\n"
)
subtask_lines.append(
f"{subtask_types[subtask_type]} | "
f"{HTMLFormatter(code_inline(subtask_id))} | "
f"{subtask_package}{subtask_version}"
)
task_message += (
f"Статус: {task_data.task_state} (try {task_data.task_try})\n"
f"Собран: {build_time}\n"
f"{f"Сообщение: {task_data.task_message}\n" if task_data.task_message else ""}"
f"{subtasks_message}"
)
task_message.append("\n".join(subtask_lines))
await m.answer(task_message, reply_markup=markup)
await m.answer("\n".join(task_message), reply_markup=markup)
async def create_tasks_message(tasks) -> str:
......@@ -130,5 +139,5 @@ async def create_tasks_message(tasks) -> str:
subtasks = len(task.subtasks)
tasks_message += HTMLFormatter(f"<a href='{TASK_URL}{task.task_id}'>{task.task_id}</a>") + \
f" | {task.task_repo} | {task.task_state} | {build_time} | {subtasks} | {task.task_message}\n"
return tasks_message
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