summaryrefslogtreecommitdiff
path: root/Lib/argparse.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2015-11-12 19:47:38 +0200
committerSerhiy Storchaka <storchaka@gmail.com>2015-11-12 19:47:38 +0200
commit1e8528022c0d57004d5e45f69761bfce2cda5573 (patch)
treef734f46424bc122530a852abb6fbb2f27c089761 /Lib/argparse.py
parent7006c33c21ba0db56f80b9236e6c6b373e479ed2 (diff)
parentd9f3a4fea570a035b5767518abca56a6d529a4a4 (diff)
downloadcpython-1e8528022c0d57004d5e45f69761bfce2cda5573.tar.gz
Issue #25607: Restore old distutils logging threshold after running tests that
parse command line arguments.
Diffstat (limited to 'Lib/argparse.py')
-rw-r--r--Lib/argparse.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/Lib/argparse.py b/Lib/argparse.py
index 9a067196da..cc538415d2 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):