%PDF- %PDF-
Direktori : /opt/cloudlinux/venv/lib64/python3.11/site-packages/pylint/config/_pylint_config/ |
Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/pylint/config/_pylint_config/help_message.py |
# 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 # Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt """Everything related to the 'pylint-config -h' command and subcommands.""" from __future__ import annotations import argparse from typing import TYPE_CHECKING if TYPE_CHECKING: from pylint.lint.pylinter import PyLinter def get_subparser_help(linter: PyLinter, command: str) -> str: """Get the help message for one of the subcommands.""" # Make sure subparsers are initialized properly assert linter._arg_parser._subparsers subparser_action = linter._arg_parser._subparsers._group_actions[0] assert isinstance(subparser_action, argparse._SubParsersAction) for name, subparser in subparser_action.choices.items(): assert isinstance(subparser, argparse.ArgumentParser) if name == command: # Remove last character which is an extra new line return subparser.format_help()[:-1] return "" # pragma: no cover def get_help(parser: argparse.ArgumentParser) -> str: """Get the help message for the main 'pylint-config' command. Taken from argparse.ArgumentParser.format_help. """ formatter = parser._get_formatter() # usage formatter.add_usage( parser.usage, parser._actions, parser._mutually_exclusive_groups ) # description formatter.add_text(parser.description) # positionals, optionals and user-defined groups for action_group in parser._action_groups: if action_group.title == "Subcommands": formatter.start_section(action_group.title) formatter.add_text(action_group.description) formatter.add_arguments(action_group._group_actions) formatter.end_section() # epilog formatter.add_text(parser.epilog) # determine help from format above return formatter.format_help()