Source code for rics.click._util

import sys

import click

USER_COMMAND_KEY: str = "USER_COMMAND"


[docs] def get_user_command(cxt: click.Context | None = None, *, meta: bool = True) -> str: """Recreate the user CLI command. Args: cxt: Click context. Derive is ``None``. meta: If ``True``, use :attr:`click.Context.meta` caching. Returns: A user command such as ``python -m rics.cli -v kernel --name=my-kernel``. """ if cxt is None: cxt = click.get_current_context(silent=False).find_root() if not meta: return _build_user_command(cxt) if user_command := cxt.meta.get(USER_COMMAND_KEY): assert isinstance(user_command, str) # noqa: S101 return user_command user_command = _build_user_command(cxt) cxt.meta[USER_COMMAND_KEY] = user_command return user_command
def _build_user_command(cxt: click.Context) -> str: return " ".join([cxt.command_path, *sys.argv[1:]])