INNER CODE UNIT · Python
run
g-battaglia/kerykeion · cli/kerykeion_cli/app.py:71
def run(argv: list[str]) -> int:
"""Parse *argv* and run the chosen command; a group or a bare ``kerykeion`` prints its help."""
args = build_parser().parse_args(argv)
errors.set_traceback_enabled(args.traceback)
errors.set_warnings_as_errors(args.warnings_as_errors)
warnings.set_envelope(bool(getattr(args, "envelope", False)))
handler = getattr(args, "handler", None)
if handler is None:
args.menu.print_help()
return 0
kwargs = {name: value for name, value in vars(args).items() if name not in _INTERNAL}
if getattr(handler, "render_flags", False):
from kerykeion_cli.commands._shared import _RENDER_FLAGS, _render_options
kwargs["opts"] = _render_options({flag: kwargs.pop(flag, None) for flag in _RENDER_FLAGS})
handler(**kwargs)
return 0