A follow up for issue #15906: change the test for calling the type conversion

on the action's default, reverting it back to previous behavior.  Conversion
is only done on string defaults.

Add a test for this and another test that ensures such type conversions are
only called once.
This commit is contained in:
Barry Warsaw 2012-09-12 14:34:50 -04:00
parent 55ad6515c9
commit eaae1b76ae
2 changed files with 28 additions and 5 deletions

View file

@ -1957,7 +1957,7 @@ class ArgumentParser(_AttributeHolder, _ActionsContainer):
# twice (which may fail) if the argument was given, but
# only if it was defined already in the namespace
if (action.default is not None and
isinstance(action, _StoreAction) and
isinstance(action.default, basestring) and
hasattr(namespace, action.dest) and
action.default is getattr(namespace, action.dest)):
setattr(namespace, action.dest,