diff options
Diffstat (limited to 'pylint/config/_pylint_config/generate_command.py')
-rw-r--r-- | pylint/config/_pylint_config/generate_command.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/pylint/config/_pylint_config/generate_command.py b/pylint/config/_pylint_config/generate_command.py index 5dc2a10dc..325c71333 100644 --- a/pylint/config/_pylint_config/generate_command.py +++ b/pylint/config/_pylint_config/generate_command.py @@ -8,6 +8,7 @@ from __future__ import annotations import warnings +from io import StringIO from typing import TYPE_CHECKING from pylint.config._pylint_config import utils @@ -21,13 +22,23 @@ def generate_interactive_config(linter: PyLinter) -> None: print("Starting interactive pylint configuration generation") format_type = utils.get_and_validate_format() + to_file, output_file_name = utils.get_and_validate_output_file() if format_type == "toml": - print(linter._generate_config_file()) + config_string = linter._generate_config_file() else: + output_stream = StringIO() with warnings.catch_warnings(): warnings.filterwarnings("ignore", category=DeprecationWarning) - linter.generate_config(skipsections=("Commands",)) + linter.generate_config(stream=output_stream, skipsections=("Commands",)) + config_string = output_stream.getvalue() + + if to_file: + with open(output_file_name, "w", encoding="utf-8") as f: + print(config_string, file=f) + print(f"Wrote configuration file to {output_file_name.resolve()}") + else: + print(config_string) def handle_generate_command(linter: PyLinter) -> int: |