vxSDK/vxsdk/cli/config.py

50 lines
986 B
Python

"""
cli.config - vxSDK configuration interface
"""
from core.logger import log
from core.config import config
__all__ = [
'__VXSDK_MODULE_META__',
'cli_validate',
'cli_parse',
]
#---
# Public
#---
__VXSDK_MODULE_META__ = (
['config'],
"vxSDK configuration module",
r"""vxsdk-configuration
VxSDK configuration and options
USAGE:
vxsdk config [<options>]
DESCRIPTION:
Change / customise the vxSDK behaviour
"""
)
def cli_validate(name):
""" validate the module name """
return name in __VXSDK_MODULE_META__[0]
def cli_parse(argv):
""" Config subcommand entry """
if '--help' in argv or '-h' in argv:
log.user(__VXSDK_MODULE_META__[2])
return 0
if len(argv) == 2:
log.user(config.get(argv[1]))
return 0
if len(argv) == 3:
if old := config.set(argv[1], argv[2]):
log.user(f"previous value = {old}")
return 0
log.error(__VXSDK_MODULE_META__[2])
return 84