INNER CODE UNIT · Python
register_task_tabs
ok-oldking/ok-script · ok/ui/web/app.py:55
def register_task_tabs(tasks):
"""Discover task-owned web tabs without consulting legacy Qt config."""
registered = []
ids = set()
for task in tasks:
specification = getattr(task, "web_tab", None)
if specification is None:
continue
if not isinstance(specification, WebTabConfig):
raise TypeError(
f"{task.__class__.__name__}.web_tab must be an ok.WebTabConfig"
)
if specification.id in ids:
raise ValueError(f"Duplicate task tab id: {specification.id}")
asset_dir = specification.resolved_asset_dir
entrypoint = specification.resolved_entrypoint
if not asset_dir.is_dir():
raise ValueError(f"Task tab asset directory does not exist: {asset_dir}")