Source code for pib_cli.cli.commands

"""CLI command classes."""

from typing import Optional, Type, Union

from .bases.command import CommandBase
from .bases.command_config import CommandConfigBase


[docs]def handler( command_class: Type[Union[CommandBase, CommandConfigBase]], config_file: Optional[str] = None, ) -> None: """Invoke a CommandBase subclass.""" command: Union[CommandBase, CommandConfigBase] if issubclass(command_class, CommandConfigBase): command = command_class(config_file=config_file) else: command = command_class() command.invoke()