summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Sottile <asottile@umich.edu>2021-12-07 15:28:58 -0800
committerAnthony Sottile <asottile@umich.edu>2021-12-07 15:28:58 -0800
commit3fa044ca4b0862126e7718698aa72d1cc1ca890d (patch)
treed343580fb09b9e3c7907a4d4a76c2971d44df09a
parent1587936e2a1448710f3e44877cb5d44dcad7c6ac (diff)
downloadflake8-3fa044ca4b0862126e7718698aa72d1cc1ca890d.tar.gz
return an argparser instead of side-effects
-rw-r--r--src/flake8/main/application.py3
-rw-r--r--src/flake8/main/options.py16
2 files changed, 10 insertions, 9 deletions
diff --git a/src/flake8/main/application.py b/src/flake8/main/application.py
index 77f25d4..9d4ff27 100644
--- a/src/flake8/main/application.py
+++ b/src/flake8/main/application.py
@@ -55,8 +55,7 @@ class Application:
self.version = version
#: The prelimary argument parser for handling options required for
#: obtaining and parsing the configuration file.
- self.prelim_arg_parser = argparse.ArgumentParser(add_help=False)
- options.register_preliminary_options(self.prelim_arg_parser)
+ self.prelim_arg_parser = options.stage1_arg_parser()
#: The instance of :class:`flake8.options.manager.OptionManager` used
#: to parse and handle the options and arguments passed by the user
self.option_manager = manager.OptionManager(
diff --git a/src/flake8/main/options.py b/src/flake8/main/options.py
index a73a9ee..9c23d64 100644
--- a/src/flake8/main/options.py
+++ b/src/flake8/main/options.py
@@ -5,7 +5,7 @@ from flake8 import defaults
from flake8.options.manager import OptionManager
-def register_preliminary_options(parser: argparse.ArgumentParser) -> None:
+def stage1_arg_parser() -> argparse.ArgumentParser:
"""Register the preliminary options on our OptionManager.
The preliminary options include:
@@ -16,9 +16,9 @@ def register_preliminary_options(parser: argparse.ArgumentParser) -> None:
- ``--config``
- ``--isolated``
"""
- add_argument = parser.add_argument
+ parser = argparse.ArgumentParser(add_help=False)
- add_argument(
+ parser.add_argument(
"-v",
"--verbose",
default=0,
@@ -28,13 +28,13 @@ def register_preliminary_options(parser: argparse.ArgumentParser) -> None:
"time it is repeated.",
)
- add_argument(
+ parser.add_argument(
"--output-file", default=None, help="Redirect report to a file."
)
# Config file options
- add_argument(
+ parser.add_argument(
"--append-config",
action="append",
default=[],
@@ -44,7 +44,7 @@ def register_preliminary_options(parser: argparse.ArgumentParser) -> None:
"provide the same option.",
)
- add_argument(
+ parser.add_argument(
"--config",
default=None,
help="Path to the config file that will be the authoritative config "
@@ -52,13 +52,15 @@ def register_preliminary_options(parser: argparse.ArgumentParser) -> None:
"configuration files.",
)
- add_argument(
+ parser.add_argument(
"--isolated",
default=False,
action="store_true",
help="Ignore all configuration files.",
)
+ return parser
+
class JobsArgument:
"""Type callback for the --jobs argument."""