[docs]defadd_command(self,cmd,name=None,aliases=None):super().add_command(cmd,name)aliases=aliasesifaliasesisnotNoneelse[]forainaliases:cmd=copy.copy(cmd)cmd.short_help=f"Alias for {name}."self.commands[a]=cmd
# @tui()@click.group("simdb",cls=AliasCommandGroup)@click.version_option(__version__)@click.option("-d","--debug",is_flag=True,help="Run in debug mode.")@click.option("-v","--verbose",is_flag=True,help="Run with verbose output.")@click.option("-c","--config-file",type=click.File("r"),help="Config file to load.")@click.pass_contextdefcli(ctx,debug:bool,verbose:bool,config_file:TextIO):ifnotctx.obj:ctx.obj=Config()ctx.obj.load(config_file)ctx.obj.debug=debugctx.obj.verbose=verboseglobalg_debugg_debug=debug@cli.command(hidden=True)defdump_help():recursive_help(cli)
[docs]defmain()->None:""" Main CLI entry function :return: None """try:cli()exceptExceptionasex:click.echo(f"Error: {ex}",err=True)ifg_debug:raiseexsys.exit(1)