OptionSection¶
- class lsst.daf.butler.cli.utils.OptionSection(sectionName: str, sectionText: str)¶
- Bases: - MWOption- Implements an Option that prints a section label in the help text and does not pass any value to the command function. - This class does a bit of hackery to add a section label to a click command help output: first, - expose_valueis set to- Falseso that no value is passed to the command function. Second, this class overrides- click.Option.get_help_recordto return the section label string without any prefix so that it stands out as a section label.- This class overrides the hidden attribute because our documentation build tool, sphinx-click, implements its own - get_help_recordfunction which builds the record from other option values (e.g.- name,- opts), which breaks the hack we use to make- get_help_recordonly return the- sectionText. Fortunately, Click gets the value of- hiddeninside the- Option’s- get_help_record, and- sphinx-clickcalls- opt.hiddenbefore entering its- _get_help_recordfunction. So, making the hidden property return True hides this option from sphinx-click, while allowing the section text to be returned by our- get_help_recordmethod when using Click.- The intention for this implementation is to do minimally invasive overrides of the click classes so as to be robust and easy to fix if the click internals change. - Parameters:
 - Attributes Summary - Returns the human readable name of this parameter. - Methods Summary - add_to_parser(parser, ctx)- consume_value(ctx, opts)- get_default(ctx[, call])- Get the default for the parameter. - get_error_hint(ctx)- Get a stringified version of the param for use in error messages to indicate which param caused the error. - get_help_record(ctx)- get_usage_pieces(ctx)- handle_parse_result(ctx, opts, args)- Make the metavar for the help menu. - process_value(ctx, value)- prompt_for_value(ctx)- This is an alternative flow that can be activated in the full value processing if a value does not exist. - resolve_envvar_value(ctx)- shell_complete(ctx, incomplete)- Return a list of completions for the incomplete value. - Gather information that could be useful for a tool generating user-facing documentation. - type_cast_value(ctx, value)- Convert and validate a value against the option's - type,- multiple, and- nargs.- value_from_envvar(ctx)- value_is_missing(value)- Attributes Documentation - human_readable_name¶
- Returns the human readable name of this parameter. This is the same as the name for options, but the metavar for arguments. 
 - param_type_name = 'option'¶
 - Methods Documentation - get_default(ctx: Context, call: bool = True) Any | Callable[[], Any] | None¶
- Get the default for the parameter. Tries - Context.lookup_default()first, then the local default.- Parameters:
- ctx – Current context. 
- call – If the default is a callable, call it. Disable to return the callable instead. 
 
 - Changed in version 8.0.2: Type casting is no longer performed when getting a default. - Changed in version 8.0.1: Type casting can fail in resilient parsing mode. Invalid defaults will not prevent showing help text. - Changed in version 8.0: Looks at - ctx.default_mapfirst.- Changed in version 8.0: Added the - callparameter.
 - get_error_hint(ctx: Context) str¶
- Get a stringified version of the param for use in error messages to indicate which param caused the error. 
 - make_metavar() str¶
- Make the metavar for the help menu. - Overrides - click.Option.make_metavar. Adds a space and an ellipsis after the metavar name if the option accepts multiple inputs, otherwise defers to the base implementation.- By default click does not add an ellipsis when multiple is True and nargs is 1. And when nargs does not equal 1 click adds an ellipsis without a space between the metavar and the ellipsis, but we prefer a space between. - Does not get called for some option types (e.g. flag) so metavar transformation that must apply to all types should be applied in get_help_record. 
 - prompt_for_value(ctx: Context) Any¶
- This is an alternative flow that can be activated in the full value processing if a value does not exist. It will prompt the user until a valid value exists and then returns the processed value as result. 
 - shell_complete(ctx: Context, incomplete: str) List[CompletionItem]¶
- Return a list of completions for the incomplete value. If a - shell_completefunction was given during init, it is used. Otherwise, the- type- shell_complete()function is used.- Parameters:
- ctx – Invocation context for this command. 
- incomplete – Value being completed. May be empty. 
 
 - New in version 8.0. 
 - to_info_dict() Dict[str, Any]¶
- Gather information that could be useful for a tool generating user-facing documentation. - Use - click.Context.to_info_dict()to traverse the entire CLI structure.- New in version 8.0.