mirror of
https://fuchsia.googlesource.com/third_party/github.com/pylint-dev/pylint
synced 2024-09-21 16:19:21 +00:00
a602692aa1
* [pre-commit.ci] pre-commit autoupdate updates: - [github.com/asottile/pyupgrade: v2.26.0 → v2.28.0](https://github.com/asottile/pyupgrade/compare/v2.26.0...v2.28.0) * [pre-commit.ci] auto fixes from pre-commit.com hooks Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
48 lines
1.7 KiB
Python
48 lines
1.7 KiB
Python
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
|
# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
|
|
|
|
import optparse # pylint: disable=deprecated-module
|
|
|
|
from pylint.config.option import Option
|
|
|
|
|
|
def _level_options(group, outputlevel):
|
|
return [
|
|
option
|
|
for option in group.option_list
|
|
if (getattr(option, "level", 0) or 0) <= outputlevel
|
|
and option.help is not optparse.SUPPRESS_HELP
|
|
]
|
|
|
|
|
|
class OptionParser(optparse.OptionParser):
|
|
def __init__(self, option_class, *args, **kwargs):
|
|
super().__init__(option_class=Option, *args, **kwargs)
|
|
|
|
def format_option_help(self, formatter=None):
|
|
if formatter is None:
|
|
formatter = self.formatter
|
|
outputlevel = getattr(formatter, "output_level", 0)
|
|
formatter.store_option_strings(self)
|
|
result = []
|
|
result.append(formatter.format_heading("Options"))
|
|
formatter.indent()
|
|
if self.option_list:
|
|
result.append(optparse.OptionContainer.format_option_help(self, formatter))
|
|
result.append("\n")
|
|
for group in self.option_groups:
|
|
if group.level <= outputlevel and (
|
|
group.description or _level_options(group, outputlevel)
|
|
):
|
|
result.append(group.format_help(formatter))
|
|
result.append("\n")
|
|
formatter.dedent()
|
|
# Drop the last "\n", or the header if no options or option groups:
|
|
return "".join(result[:-1])
|
|
|
|
def _match_long_opt(self, opt):
|
|
"""Disable abbreviations."""
|
|
if opt not in self._long_opt:
|
|
raise optparse.BadOptionError(opt)
|
|
return opt
|