bmctools.cli.utils
CLI utilities for bmctools.
Colors
ANSI color codes for terminal output.
is_tty
def is_tty() -> boolCheck if stdout is a TTY (supports colors).
Returns: bool
should_use_color
def should_use_color(args: argparse.Namespace) -> boolDetermine if color output should be used.
Args: args: Parsed arguments with no_color attribute
Returns: True if colors should be used, False otherwise
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
args | argparse.Namespace | — |
Returns: bool
colorize
def colorize(text: str, color: str, args: Optional[argparse.Namespace] = None) -> strColorize text if color output is enabled.
Args: text: Text to colorize color: Color code from Colors class args: Parsed arguments (optional)
Returns: Colorized text if colors enabled, plain text otherwise
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
text | str | — | |
color | str | — | |
args | Optional[argparse.Namespace] | None |
Returns: str
print_error
def print_error(message: str, args: Optional[argparse.Namespace] = None) -> NonePrint error message to stderr.
Args: message: Error message args: Parsed arguments (optional)
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
message | str | — | |
args | Optional[argparse.Namespace] | None |
Returns: None
print_warning
def print_warning(message: str, args: Optional[argparse.Namespace] = None) -> NonePrint warning message to stderr.
Args: message: Warning message args: Parsed arguments (optional)
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
message | str | — | |
args | Optional[argparse.Namespace] | None |
Returns: None
print_success
def print_success(message: str, args: Optional[argparse.Namespace] = None) -> NonePrint success message to stdout.
Args: message: Success message args: Parsed arguments (optional)
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
message | str | — | |
args | Optional[argparse.Namespace] | None |
Returns: None
print_verbose
def print_verbose(message: str, args: argparse.Namespace) -> NonePrint verbose message if verbose mode is enabled.
Args: message: Message to print args: Parsed arguments with verbose attribute
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
message | str | — | |
args | argparse.Namespace | — |
Returns: None
print_debug
def print_debug(message: str, args: argparse.Namespace) -> NonePrint debug message if debug mode is enabled.
Args: message: Message to print args: Parsed arguments with debug attribute
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
message | str | — | |
args | argparse.Namespace | — |
Returns: None
get_exit_code
def get_exit_code(exception: Exception) -> intMap exception type to exit code.
Args: exception: Exception instance
Returns: Exit code integer
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
exception | Exception | — |
Returns: int
handle_error
def handle_error(exception: Exception, args: argparse.Namespace) -> NoneHandle and display error to user.
Args: exception: Exception that occurred args: Parsed arguments
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
exception | Exception | — | |
args | argparse.Namespace | — |
Returns: None
apply_env_vars
def apply_env_vars(args: argparse.Namespace) -> argparse.NamespaceApply environment variables to arguments if not already set.
Args: args: Parsed arguments namespace
Returns: Modified args namespace
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
args | argparse.Namespace | — |
Returns: argparse.Namespace
validate_connection_args
def validate_connection_args(args: argparse.Namespace, required_fields: Optional[list] = None) -> NoneValidate that required connection arguments are present.
Args: args: Parsed arguments required_fields: List of required field names (default: [‘ip’, ‘username’, ‘password’])
Raises: ValueError: If required fields are missing
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
args | argparse.Namespace | — | |
required_fields | Optional[list] | None |
Returns: None
establish_redfish_connection
def establish_redfish_connection(args: argparse.Namespace)Establish Redfish connection with error handling.
Args: args: Parsed arguments with connection parameters
Returns: Redfish instance
Raises: ValueError: If connection parameters are invalid ConnectionError: If connection fails
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
args | argparse.Namespace | — |
establish_ipmi_connection
def establish_ipmi_connection(args: argparse.Namespace)Establish IPMI connection.
Args: args: Parsed arguments with connection parameters
Returns: IpmiTool instance
Raises: ValueError: If connection parameters are invalid
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
args | argparse.Namespace | — |
establish_racadm_connection
def establish_racadm_connection(args: argparse.Namespace)Establish RACADM connection.
Args: args: Parsed arguments with connection parameters
Returns: Racadm instance
Raises: ValueError: If connection parameters are invalid
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
args | argparse.Namespace | — |