Exemple #1
0
    def _format_option_strings(self,
                               option: optparse.Option,
                               mvarfmt: str = " <{}>",
                               optsep: str = ", ") -> str:
        """
        Return a comma-separated list of option strings and metavars.

        :param option:  tuple of (short opt, long opt), e.g: ('-f', '--format')
        :param mvarfmt: metavar format string
        :param optsep:  separator
        """
        opts = []

        if option._short_opts:
            opts.append(option._short_opts[0])
        if option._long_opts:
            opts.append(option._long_opts[0])
        if len(opts) > 1:
            opts.insert(1, optsep)

        if option.takes_value():
            assert option.dest is not None
            metavar = option.metavar or option.dest.lower()
            opts.append(mvarfmt.format(metavar.lower()))

        return "".join(opts)
Exemple #2
0
 def _format_option(self,
                    option: optparse.Option,
                    cmd_name: Optional[str] = None) -> List[str]:
     bookmark_line = (f".. _`{cmd_name}_{option._long_opts[0]}`:"
                      if cmd_name else f".. _`{option._long_opts[0]}`:")
     line = ".. option:: "
     if option._short_opts:
         line += option._short_opts[0]
     if option._short_opts and option._long_opts:
         line += ", " + option._long_opts[0]
     elif option._long_opts:
         line += option._long_opts[0]
     if option.takes_value():
         metavar = option.metavar or option.dest
         assert metavar is not None
         line += f" <{metavar.lower()}>"
     # fix defaults
     assert option.help is not None
     opt_help = option.help.replace("%default", str(option.default))
     # fix paths with sys.prefix
     opt_help = opt_help.replace(sys.prefix, "<sys.prefix>")
     return [bookmark_line, "", line, "", "    " + opt_help, ""]
Exemple #3
0
 def takes_value(self):
     # Deprecated options don't take a value.
     return Option.takes_value(self) and not self.deprecated
Exemple #4
0
 def takes_value(self):
     # Deprecated options don't take a value.
     return Option.takes_value(self) and not self.deprecated