import logging import sys import typer from cmapi_server.logging_management import dict_config, add_logging_level from mcs_cluster_tool import ( cluster_app, cmapi_app, backup_commands, restore_commands ) from mcs_cluster_tool.constants import MCS_CLI_LOG_CONF_PATH # don't show --install-completion and --show-completion options in help message app = typer.Typer( add_completion=False, help=( 'The MCS Command Line Interface is a unified tool to manage your ' 'MCS services' ), ) app.add_typer(cluster_app.app, name='cluster') app.add_typer(cmapi_app.app, name='cmapi') app.command()(backup_commands.backup) app.command('backup-dbrm')(backup_commands.dbrm_backup) app.command()(restore_commands.restore) app.command('restore-dbrm')(restore_commands.dbrm_restore) if __name__ == '__main__': add_logging_level('TRACE', 5) #TODO: remove when stadalone mode added. dict_config(MCS_CLI_LOG_CONF_PATH) logger = logging.getLogger('mcs_cli') # add separator between cli commands logging logger.debug(f'{"-":-^80}') cl_args_line = ' '.join(sys.argv[1:]) logger.debug(f'Called "mcs {cl_args_line}"') app(prog_name='mcs')