diff options
| author | Eric N. Vander Weele <ericvw@gmail.com> | 2019-10-25 15:01:30 -0400 |
|---|---|---|
| committer | Eric N. Vander Weele <ericvw@gmail.com> | 2019-10-25 17:07:43 -0400 |
| commit | 1d7558f7da77d67272352d6ab8ca8a476cf80411 (patch) | |
| tree | 4ce306cb5c0e5f359dfdc6b833290d478656e84d /src | |
| parent | 2a5c2bb6969046b607bbb44bf5c7d2c774768d7c (diff) | |
| download | flake8-1d7558f7da77d67272352d6ab8ca8a476cf80411.tar.gz | |
optmanager: Inherit options from parent argument parsers
Allow for including options from parent `argparse.ArgumentParser`
objects in preparation of splitting out the handling of preliminary
options from the `OptionManager`.
Diffstat (limited to 'src')
| -rw-r--r-- | src/flake8/options/manager.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/flake8/options/manager.py b/src/flake8/options/manager.py index a7f678d..def4c96 100644 --- a/src/flake8/options/manager.py +++ b/src/flake8/options/manager.py @@ -338,8 +338,12 @@ class OptionManager(object): """Manage Options and OptionParser while adding post-processing.""" def __init__( - self, prog, version, usage="%(prog)s [options] file file ..." - ): # type: (str, str, str) -> None + self, + prog, + version, + usage="%(prog)s [options] file file ...", + parents=None, + ): # type: (str, str, str, Optional[List[argparse.ArgumentParser]]) -> None # noqa: E501 """Initialize an instance of an OptionManager. :param str prog: @@ -348,9 +352,15 @@ class OptionManager(object): Version string for the program. :param str usage: Basic usage string used by the OptionParser. + :param argparse.ArgumentParser parents: + A list of ArgumentParser objects whose arguments should also be + included. """ + if parents is None: + parents = [] + self.parser = argparse.ArgumentParser( - prog=prog, usage=usage + prog=prog, usage=usage, parents=parents ) # type: argparse.ArgumentParser self._current_group = None # type: Optional[argparse._ArgumentGroup] self.version_action = cast( |
