summaryrefslogtreecommitdiff
path: root/pylint/config/_pylint_config/generate_command.py
diff options
context:
space:
mode:
Diffstat (limited to 'pylint/config/_pylint_config/generate_command.py')
-rw-r--r--pylint/config/_pylint_config/generate_command.py15
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: