From a4b848fe40da2b2e4f7e0f0bbd141478179f0327 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Sep 22 2023 19:47:04 +0000 Subject: build_scheduler: format links to failed and canceled builds The string is not currently being formatted, resulting in e.g.: ModemManager: {weburl}/taskinfo?taskID={task_id} failed --- diff --git a/flatpak_module_tools/build_scheduler.py b/flatpak_module_tools/build_scheduler.py index 69651ec..4382298 100644 --- a/flatpak_module_tools/build_scheduler.py +++ b/flatpak_module_tools/build_scheduler.py @@ -20,7 +20,7 @@ from koji_cli.lib import activate_session from .config import ProfileConfig from .console_logging import LiveDisplay, RenderWhen -from .koji_utils import format_task +from .koji_utils import format_link, format_task from .utils import rpm_name_only @@ -502,6 +502,8 @@ class KojiBuildScheduler(BuildScheduler): U(status="Starting build") session = self.profile.koji_session task_id = session.build(source_url, self.target) + url_base = self.profile.koji_options['weburl'] + taskurl=f"{url_base}/taskinfo?taskID={task_id}" while True: task_info = session.getTaskInfo(task_id, request=True) @@ -512,10 +514,10 @@ class KojiBuildScheduler(BuildScheduler): format_task(self.profile, task_child) for task_child in task_children] if state == "FAILED": - U(State.FAILED, status="{weburl}/taskinfo?taskID={task_id} failed") + U(State.FAILED, status=f"task {format_link(taskurl, task_id)} failed") return elif state == "CANCELED": - U(State.FAILED, status=" {weburl}/taskinfo?taskID={task_id} was canceled") + U(State.FAILED, status=f"task {format_link(taskurl, task_id)} was canceled") return elif state == "CLOSED": break diff --git a/flatpak_module_tools/koji_utils.py b/flatpak_module_tools/koji_utils.py index 6c63eb6..ff44743 100644 --- a/flatpak_module_tools/koji_utils.py +++ b/flatpak_module_tools/koji_utils.py @@ -59,7 +59,7 @@ class KojiRepo: ) -def _format_link(href, text): +def format_link(href, text): OSC = "\033]" ST = "\033\\" return f"{OSC}8;;{href}{ST}{text}{OSC}8;;{ST}" @@ -82,7 +82,7 @@ def format_task(profile: ProfileConfig, task_info): url_base = profile.koji_options['weburl'] url = f"{url_base}/taskinfo?taskID={task_info['id']}" - return f"{_format_link(url, task_info['id'])} {label}: {formatted_state}" + return f"{format_link(url, task_info['id'])} {label}: {formatted_state}" class WatcherDisplay(LiveDisplay): @@ -137,7 +137,7 @@ def watch_koji_task(profile: ProfileConfig, task_id: int): url_base = profile.koji_options['weburl'] url = f"{url_base}/buildinfo?buildID={build['build_id']}" - click.echo(f"Building {_format_link(url, build['nvr'])} succeeded!") + click.echo(f"Building {format_link(url, build['nvr'])} succeeded!") else: click.echo("Build succeeded!")