diff options
Diffstat (limited to 'Lib/argparse.py')
| -rw-r--r-- | Lib/argparse.py | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/Lib/argparse.py b/Lib/argparse.py index 9a067196da..209b4e99c1 100644 --- a/Lib/argparse.py +++ b/Lib/argparse.py @@ -118,10 +118,16 @@ class _AttributeHolder(object):      def __repr__(self):          type_name = type(self).__name__          arg_strings = [] +        star_args = {}          for arg in self._get_args():              arg_strings.append(repr(arg))          for name, value in self._get_kwargs(): -            arg_strings.append('%s=%r' % (name, value)) +            if name.isidentifier(): +                arg_strings.append('%s=%r' % (name, value)) +            else: +                star_args[name] = value +        if star_args: +            arg_strings.append('**%s' % repr(star_args))          return '%s(%s)' % (type_name, ', '.join(arg_strings))      def _get_kwargs(self): @@ -204,8 +210,6 @@ class HelpFormatter(object):              if self.parent is not None:                  self.formatter._indent()              join = self.formatter._join_parts -            for func, args in self.items: -                func(*args)              item_help = join([func(*args) for func, args in self.items])              if self.parent is not None:                  self.formatter._dedent() | 
