From f97c59aaba2d93e48cbc6d25f7ff9f9c87f8d0b2 Mon Sep 17 00:00:00 2001 From: R David Murray Date: Thu, 9 Jun 2011 12:34:07 -0400 Subject: #10424: argument names are now included in the missing argument message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix and initial test patch by Michele OrrĂ¹. --- Lib/argparse.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'Lib/argparse.py') diff --git a/Lib/argparse.py b/Lib/argparse.py index 0658472acf..f0cfe27eb8 100644 --- a/Lib/argparse.py +++ b/Lib/argparse.py @@ -1969,17 +1969,12 @@ class ArgumentParser(_AttributeHolder, _ActionsContainer): # if we didn't consume all the argument strings, there were extras extras.extend(arg_strings[stop_index:]) - # if we didn't use all the Positional objects, there were too few - # arg strings supplied. - if positionals: - self.error(_('too few arguments')) - # make sure all required actions were present - for action in self._actions: - if action.required: - if action not in seen_actions: - name = _get_action_name(action) - self.error(_('argument %s is required') % name) + required_actions = [_get_action_name(action) for action in self._actions + if action.required and action not in seen_actions] + if required_actions: + self.error(_('the following arguments are required: %s') % + ', '.join(required_actions)) # make sure all required groups had one option present for group in self._mutually_exclusive_groups: -- cgit v1.2.1