def get_option_scope_help_info( self, description: str, parser: Parser, is_goal: bool, provider: str = "", deprecated_scope: Optional[str] = None, ) -> OptionScopeHelpInfo: """Returns an OptionScopeHelpInfo for the options parsed by the given parser.""" basic_options = [] advanced_options = [] deprecated_options = [] for args, kwargs in parser.option_registrations_iter(): history = parser.history(kwargs["dest"]) ohi = self.get_option_help_info(args, kwargs) ohi = dataclasses.replace(ohi, value_history=history) if ohi.deprecation_active: deprecated_options.append(ohi) elif kwargs.get("advanced"): advanced_options.append(ohi) else: basic_options.append(ohi) return OptionScopeHelpInfo( scope=self._scope, description=description, provider=provider, is_goal=is_goal, deprecated_scope=deprecated_scope, basic=tuple(basic_options), advanced=tuple(advanced_options), deprecated=tuple(deprecated_options), )
def get_option_scope_help_info(self, description: str, parser: Parser, is_goal: bool): """Returns an OptionScopeHelpInfo for the options parsed by the given parser.""" basic_options = [] advanced_options = [] deprecated_options = [] for args, kwargs in parser.option_registrations_iter(): history = parser.history(kwargs["dest"]) ohi = self.get_option_help_info(args, kwargs) ohi = dataclasses.replace(ohi, value_history=history) if ohi.deprecation_active: deprecated_options.append(ohi) elif kwargs.get("advanced") or ( kwargs.get("recursive") and not kwargs.get("recursive_root") ): # In order to keep the regular help output uncluttered, we treat recursive # options as advanced. The concept of recursive options is not widely used # and not clear to the end user, so it's best not to expose it as a concept. advanced_options.append(ohi) else: basic_options.append(ohi) return OptionScopeHelpInfo( scope=self._scope, description=description, is_goal=is_goal, basic=tuple(basic_options), advanced=tuple(advanced_options), deprecated=tuple(deprecated_options), )