AlkantarClanX12
Current Path : /opt/cloudlinux/venv/lib64/python3.11/site-packages/ |
Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/cli_utils.py |
#!/opt/cloudlinux/venv/bin/python3 -bb # coding: utf-8 # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT # """ This module serves as a collection of functions needed by various cloudlinux-* utilities. It should not include any functions specific to a one single utility as to not pollute it with unnecessary imports. """ import json VALUES_STR = 'Available values for option' def replace_params(data: str) -> dict: """ Replacing params in a data string to display an error message for humans. :param data: error's data for show message :return: a dictionary suitable for UI """ if data.startswith("--"): param, text = data.split(" ", 1) return {"result": "%%(param)s " + text, "context": {"param": param}} if data.startswith(VALUES_STR): text, param = data.split(":", 1) return {"result": text + ": %%(available_options)s", "context": {"available_options": param.strip()}} return {"result": data} def print_dictionary(data_dict, is_json: bool = False, is_pretty: bool = False): """ Print specified dictionary :param data_dict: data dictionary to print :param is_json: True - print in JSON, False - in text :param is_pretty: True - pretty json print, False - none (default) :return: None """ if is_json: # Print as JSON if is_pretty: print(json.dumps(data_dict, indent=4, sort_keys=True)) else: print(json.dumps(data_dict, sort_keys=True)) else: # Print as text print(data_dict)