def _AssignParser(self, parser_group, allow_positional_args): """Assign a parser group to model this Command or CommandGroup. Args: parser_group: argparse._ArgumentGroup, the group that will model this command or group's arguments. allow_positional_args: bool, Whether to allow positional args for this group or not. """ if not parser_group: # This is the root of the command tree, so we create the first parser. self._parser = ArgumentParser( description=self.long_help, add_help=False, prog=self.dotted_name, calliope_command=self) else: # This is a normal sub group, so just add a new subparser to the existing # one. self._parser = parser_group.add_parser( self.cli_name, help=self.short_help, description=self.long_help, add_help=False, prog=self.dotted_name, calliope_command=self) self._sub_parser = None self.ai = ArgumentInterceptor( parser=self._parser, allow_positional=allow_positional_args) self.ai.add_argument( '-h', action=actions.ShortHelpAction(self), unique_flag=True, help='Print a summary help and exit.') self.ai.add_argument( '--help', action=actions.RenderDocumentAction(self, '--help'), unique_flag=True, help='Display detailed help.') self.ai.add_argument( '--document', action=actions.RenderDocumentAction(self), unique_flag=True, nargs=1, metavar='ATTRIBUTES', type=arg_parsers.ArgDict(), help=argparse.SUPPRESS) self.ai.add_argument( '--configuration', metavar='CONFIGURATION', unique_flag=True, help=(argparse.SUPPRESS # 'Named configuration for this invocation. Run ' #' `gcloud topics configurations` for more information.' )) self._AcquireArgs()
def _AssignParser(self, parser_group, allow_positional_args): """Assign a parser group to model this Command or CommandGroup. Args: parser_group: argparse._ArgumentGroup, the group that will model this command or group's arguments. allow_positional_args: bool, Whether to allow positional args for this group or not. """ if not parser_group: # This is the root of the command tree, so we create the first parser. self._parser = parser_extensions.ArgumentParser( description=self.long_help, add_help=False, prog=self.dotted_name, calliope_command=self) else: # This is a normal sub group, so just add a new subparser to the existing # one. self._parser = parser_group.add_parser( self.cli_name, help=self.short_help, description=self.long_help, add_help=False, prog=self.dotted_name, calliope_command=self) self._sub_parser = None self.ai = parser_arguments.ArgumentInterceptor( parser=self._parser, is_global=not parser_group, cli_generator=self._cli_generator, allow_positional=allow_positional_args) self.ai.add_argument( '-h', action=actions.ShortHelpAction(self), is_replicated=True, category=base.COMMONLY_USED_FLAGS, help='Print a summary help and exit.') self.ai.add_argument( '--help', action=actions.RenderDocumentAction(self, '--help'), is_replicated=True, category=base.COMMONLY_USED_FLAGS, help='Display detailed help.') self.ai.add_argument( '--document', action=actions.RenderDocumentAction(self), is_replicated=True, nargs=1, metavar='ATTRIBUTES', type=arg_parsers.ArgDict(), hidden=True, help='THIS TEXT SHOULD BE HIDDEN') self._AcquireArgs()
def _AssignParser(self, parser_group, allow_positional_args): """Assign a parser group to model this Command or CommandGroup. Args: parser_group: argparse._ArgumentGroup, the group that will model this command or group's arguments. allow_positional_args: bool, Whether to allow positional args for this group or not. """ if not parser_group: # This is the root of the command tree, so we create the first parser. self._parser = ArgumentParser( description=self.long_help, add_help=False, prog=self.dotted_name, calliope_command=self) else: # This is a normal sub group, so just add a new subparser to the existing # one. self._parser = parser_group.add_parser( self.cli_name, help=self.short_help, description=self.long_help, add_help=False, prog=self.dotted_name, calliope_command=self) self._sub_parser = None self.ai = ArgumentInterceptor( parser=self._parser, allow_positional=allow_positional_args) self.ai.add_argument( '-h', action=actions.ShortHelpAction(self), help='Print a summary help and exit.') self.ai.add_argument( '--help', action=actions.RenderDocumentAction(self, '--help'), help='Display detailed help.') self.ai.add_argument( '--document', action=actions.RenderDocumentAction(self), nargs=1, metavar='ATTRIBUTES', type=arg_parsers.ArgDict(), help=argparse.SUPPRESS) # TODO(user): Drop --markdown when the asciidoc purge lands. self.ai.add_argument( '--markdown', action=actions.RenderDocumentAction(self, 'markdown'), help=argparse.SUPPRESS) self._AcquireArgs()