import click from click_aliases import ClickAliasedGroup from prompt_toolkit.key_binding import KeyBindings from sdi_checker.app_cli.commands.cmd_check import cli_check as cmd_check from sdi_checker.app_cli.commands.cmd_audits import cli_audits as cmd_audits from sdi_checker.app_cli.commands.cmd_report import cli_report as cmd_report from sdi_checker.app_cli.commands import cmd_clear_history as cmd_clear_history from sdi_checker.app_cli.commands import cmd_clear as cmd_clear from sdi_checker.app_cli.commands import cmd_logs as cmd_logs from sdi_checker.app_cli.commands import cmd_quit as cmd_quit from sdi_checker.app_cli.commands import cmd_test as cmd_test from sdi_checker.app_cli.commands import cmd_version as cmd_version bindings = KeyBindings() @bindings.add('c-q') def _(event, app): """Exit""" commands.on_exit(app) @click.group(cls=ClickAliasedGroup, invoke_without_command=True) @click.pass_obj @click.pass_context def cli(ctx, app): """Pleasantries CLI""" app.bindings = bindings app.cli(ctx) @cli.command() @click.pass_obj def repl(app): """Start an interactive session""" app.cli_repl(app) # Import commands from "./master/app_cli/commands" directory cli.add_command(cmd_audits) cli.add_command(cmd_check) cli.add_command(cmd_report) cli.add_command(cmd_clear.run) cli.add_command(cmd_clear_history.run) cli.add_command(cmd_logs.run) cli.add_command(cmd_quit.run) cli.add_command(cmd_test.run) cli.add_command(cmd_version.run)