From 6f0470065b4aa7c8673ba375b4d99b8809999fb5 Mon Sep 17 00:00:00 2001 From: "steven.bethard" Date: Thu, 7 Jan 2010 17:30:28 +0000 Subject: Add convert_arg_line_to_args to allow subclasses to easily override file parsing behavior. --- argparse.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'argparse.py') diff --git a/argparse.py b/argparse.py index 8b96e62..95fdd72 100644 --- a/argparse.py +++ b/argparse.py @@ -1971,7 +1971,10 @@ class ArgumentParser(_AttributeHolder, _ActionsContainer): try: args_file = open(arg_string[1:]) try: - arg_strings = args_file.read().splitlines() + arg_strings = [] + for arg_line in args_file.read().splitlines(): + for arg in self.convert_arg_line_to_args(arg_line): + arg_strings.append(arg) arg_strings = self._read_args_from_files(arg_strings) new_arg_strings.extend(arg_strings) finally: @@ -1983,6 +1986,9 @@ class ArgumentParser(_AttributeHolder, _ActionsContainer): # return the modified argument list return new_arg_strings + def convert_arg_line_to_args(self, arg_line): + return [arg_line] + def _match_argument(self, action, arg_strings_pattern): # match the pattern for this action to the arg strings nargs_pattern = self._get_nargs_pattern(action) -- cgit v1.2.1