Skip to content

Commit ade1fea

Browse files
committed
cli.arghparse: re-add pre_parse() method to fix man page generation
For pkgcheck.
1 parent 798b33e commit ade1fea

File tree

1 file changed

+19
-9
lines changed

1 file changed

+19
-9
lines changed

src/snakeoil/cli/arghparse.py

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1080,15 +1080,7 @@ def subparsers(self):
10801080
parsers.update(x._name_parser_map)
10811081
return ImmutableDict(parsers)
10821082

1083-
def parse_known_args(self, args, namespace):
1084-
"""Add support for running registered pre-parse functions."""
1085-
if args is None:
1086-
# args default to the system args
1087-
args = sys.argv[1:]
1088-
else:
1089-
# make sure that args are mutable
1090-
args = list(args)
1091-
1083+
def pre_parse(self, namespace=None):
10921084
# default Namespace built from parser defaults
10931085
if namespace is None:
10941086
namespace = Namespace()
@@ -1104,6 +1096,24 @@ def parse_known_args(self, args, namespace):
11041096
# wipe pre-parse functions so they only run once
11051097
del self.__pre_parse[:]
11061098

1099+
return namespace
1100+
1101+
def parse_known_args(self, args, namespace):
1102+
"""Add support for running registered pre-parse functions."""
1103+
if args is None:
1104+
# args default to the system args
1105+
args = sys.argv[1:]
1106+
else:
1107+
# make sure that args are mutable
1108+
args = list(args)
1109+
1110+
# default Namespace built from parser defaults
1111+
if namespace is None:
1112+
namespace = Namespace()
1113+
1114+
# run registered pre-parse functions
1115+
namespace = self.pre_parse(namespace)
1116+
11071117
# add any action defaults that aren't present
11081118
for action in self._actions:
11091119
if action.dest is not SUPPRESS:

0 commit comments

Comments
 (0)