コード例 #1
0
    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
コード例 #2
0
ファイル: main.py プロジェクト: joeladam518/sutler
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())
コード例 #3
0
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)