D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
cloudlinux
/
venv
/
lib64
/
python3.11
/
site-packages
/
Filename :
cli_utils.py
back
Copy
#!/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)