clan-core/pkgs/clan-cli/tests/helpers/cli.py

20 lines
504 B
Python
Raw Normal View History

import argparse
import logging
import shlex
from clan_cli import create_parser
2024-01-11 21:46:29 +00:00
from clan_cli.custom_logger import get_caller
log = logging.getLogger(__name__)
class Cli:
def run(self, args: list[str]) -> argparse.Namespace:
2023-11-15 13:28:40 +00:00
parser = create_parser(prog="clan")
2024-01-11 21:14:55 +00:00
parsed = parser.parse_args(args)
2024-01-11 21:46:29 +00:00
cmd = shlex.join(["clan", *args])
log.debug(f"$ {cmd} \nCaller: {get_caller()}")
if hasattr(parsed, "func"):
parsed.func(parsed)
return parsed