我们从Python开源项目中,提取了以下3个代码示例,用于说明如何使用click.help_option()。
def common_options(*args, **kwargs): """ This is a multi-purpose decorator for applying a "base" set of options shared by all commands. It can be applied either directly, or given keyword arguments. Usage: >>> @common_options >>> def mycommand(abc, xyz): >>> ... or >>> @common_options(no_format_option=True) >>> def mycommand(abc, xyz): >>> ... """ def decorate(f, **kwargs): """ Work of actually decorating a function -- wrapped in here because we want to dispatch depending on how `common_options` is invoked """ f = version_option(f) f = debug_option(f) f = verbose_option(f) f = click.help_option('-h', '--help')(f) # if the format option is being allowed, it needs to be applied to `f` if not kwargs.get('no_format_option'): f = format_option(f) # if the --map-http-status option is being allowed, ... if not kwargs.get('no_map_http_status_option'): f = map_http_status_option(f) return f return detect_and_decorate(decorate, args, kwargs)
def extended_help_option(extended_help=None, *param_decls, **attrs): """ Based on the click.help_option code. Adds a ``--extended-help`` option which immediately ends the program printing out the extended extended-help page. Defaults to using the callback's doc string, but can be given an explicit value as well. This is intended for use as a decorator on a command to provide a 3rd level of help verbosity suitable for use as a manpage (though not formatted as such explicitly). Like :func:`version_option`, this is implemented as eager option that prints in the callback and exits. All arguments are forwarded to :func:`option`. """ def decorator(f): def callback(ctx, param, value): if value and not ctx.resilient_parsing: if not extended_help: ctx.command.help = ctx.command.callback.__doc__ click.echo(ctx.get_help(), color=ctx.color) else: ctx.command.help = extended_help click.echo(ctx.get_help(), color=ctx.color) ctx.exit() attrs.setdefault('is_flag', True) attrs.setdefault('expose_value', False) attrs.setdefault('help', 'Show extended help content, similar to manpage, and exit.') attrs.setdefault('is_eager', True) attrs['callback'] = callback return click.option(*(param_decls or ('--extended-help',)), **attrs)(f) return decorator
def get_command(self, ctx, name): ns = {} fn = os.path.join(command_folder, name + '.py') try: with open(fn) as f: code = compile(f.read(), fn, 'exec') eval(code, ns, ns) return ns[name] except IOError: click.help_option() # base help message