[Python-checkins] cpython (merge 3.2 -> default): Issue #9347: Fix formatting for tuples in argparse type= error messages.

steven.bethard python-checkins at python.org
Mon Apr 4 02:14:46 CEST 2011


http://hg.python.org/cpython/rev/1f3f6443810a
changeset:   69127:1f3f6443810a
parent:      69123:44fc5f94bc90
parent:      69126:69ab5251f3f0
user:        Steven Bethard <steven.bethard at gmail.com>
date:        Mon Apr 04 02:10:40 2011 +0200
summary:
  Issue #9347: Fix formatting for tuples in argparse type= error messages.

files:
  Lib/argparse.py           |  4 ++--
  Lib/test/test_argparse.py |  2 ++
  Misc/NEWS                 |  2 ++
  3 files changed, 6 insertions(+), 2 deletions(-)


diff --git a/Lib/argparse.py b/Lib/argparse.py
--- a/Lib/argparse.py
+++ b/Lib/argparse.py
@@ -1312,13 +1312,13 @@
         # create the action object, and add it to the parser
         action_class = self._pop_action_class(kwargs)
         if not _callable(action_class):
-            raise ValueError('unknown action "%s"' % action_class)
+            raise ValueError('unknown action "%s"' % (action_class,))
         action = action_class(**kwargs)
 
         # raise an error if the action type is not callable
         type_func = self._registry_get('type', action.type, action.type)
         if not _callable(type_func):
-            raise ValueError('%r is not callable' % type_func)
+            raise ValueError('%r is not callable' % (type_func,))
 
         # raise an error if the metavar does not match the type
         if hasattr(self, "_get_formatter"):
diff --git a/Lib/test/test_argparse.py b/Lib/test/test_argparse.py
--- a/Lib/test/test_argparse.py
+++ b/Lib/test/test_argparse.py
@@ -4082,10 +4082,12 @@
 
     def test_invalid_type(self):
         self.assertValueError('--foo', type='int')
+        self.assertValueError('--foo', type=(int, float))
 
     def test_invalid_action(self):
         self.assertValueError('-x', action='foo')
         self.assertValueError('foo', action='baz')
+        self.assertValueError('--foo', action=('store', 'append'))
         parser = argparse.ArgumentParser()
         try:
             parser.add_argument("--foo", action="store-true")
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -349,6 +349,8 @@
 
 - Issue #9026: Fix order of argparse sub-commands in help messages.
 
+- Issue #9347: Fix formatting for tuples in argparse type= error messages.
+
 Build
 -----
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list