def parse_args(self: Command, ctx: Context, args: List[str], supportsLiterals: Callable[[click.Parameter], bool]): if not args and self.no_args_is_help and not ctx.resilient_parsing: click.echo(ctx.get_help(), color=ctx.color) ctx.exit() args = PrettyHelper.parse_line(args) ctx.original_params = args.copy() parser = self.make_parser(ctx) opts, args, param_order = parser.parse_args(args=args) ctx.original_args = args.copy() i = 0 for param in iter_params_for_processing(param_order, self.get_params(ctx)): if supportsLiterals(param): value, args, i = param.handle_parse_result(ctx, opts, args, i) else: value, args = param.handle_parse_result(ctx, opts, args) if args and not ctx.allow_extra_args and not ctx.resilient_parsing: ctx.fail("Got unexpected extra argument{} ({})".format( "s" if len(args) != 1 else "", " ".join(map(make_str, args)))) ctx.args = args return args
def cli(ctx: ClickContext): if 'debian' not in Sys.id_like(): ctx.fail("Sorry, sutler only supports Debian based systems") app = ctx.ensure_object(App) if app.is_root(): ctx.fail("You're not allowed to run sutler as root") if ctx.invoked_subcommand is None: click.echo(ctx.get_help())
def main(ctx: Context, user: str, device: str): if not user and not device: print(ctx.get_help()) sys.exit(1) client_args = axonapi.get_env_connect() client = CustomConnect(**client_args) client.start() if user: client.run(user_search_criteria=user) elif device: client.run(device_search_criteria=device)