Use proper gettext plural forms in optparse (closes #4391).
Original patch by Dwayne Bailey.
This commit is contained in:
parent
2592f62a5a
commit
6a1454f3a4
|
@ -86,10 +86,16 @@ def _repr(self):
|
|||
# Id: errors.py 509 2006-04-20 00:58:24Z gward
|
||||
|
||||
try:
|
||||
from gettext import gettext
|
||||
from gettext import gettext, ngettext
|
||||
except ImportError:
|
||||
def gettext(message):
|
||||
return message
|
||||
|
||||
def ngettext(singular, plural, n):
|
||||
if n == 1:
|
||||
return singular
|
||||
return plural
|
||||
|
||||
_ = gettext
|
||||
|
||||
|
||||
|
@ -1478,11 +1484,10 @@ class OptionParser (OptionContainer):
|
|||
if option.takes_value():
|
||||
nargs = option.nargs
|
||||
if len(rargs) < nargs:
|
||||
if nargs == 1:
|
||||
self.error(_("%s option requires an argument") % opt)
|
||||
else:
|
||||
self.error(_("%s option requires %d arguments")
|
||||
% (opt, nargs))
|
||||
self.error(ngettext(
|
||||
"%(option)s option requires %(number)d argument",
|
||||
"%(option)s option requires %(number)d arguments",
|
||||
nargs) % {"option": opt, "number": nargs})
|
||||
elif nargs == 1:
|
||||
value = rargs.pop(0)
|
||||
else:
|
||||
|
@ -1517,11 +1522,10 @@ class OptionParser (OptionContainer):
|
|||
|
||||
nargs = option.nargs
|
||||
if len(rargs) < nargs:
|
||||
if nargs == 1:
|
||||
self.error(_("%s option requires an argument") % opt)
|
||||
else:
|
||||
self.error(_("%s option requires %d arguments")
|
||||
% (opt, nargs))
|
||||
self.error(ngettext(
|
||||
"%(option)s option requires %(number)d argument",
|
||||
"%(option)s option requires %(number)d arguments",
|
||||
nargs) % {"option": opt, "number": nargs})
|
||||
elif nargs == 1:
|
||||
value = rargs.pop(0)
|
||||
else:
|
||||
|
|
|
@ -631,7 +631,7 @@ class TestStandard(BaseTest):
|
|||
option_list=options)
|
||||
|
||||
def test_required_value(self):
|
||||
self.assertParseFail(["-a"], "-a option requires an argument")
|
||||
self.assertParseFail(["-a"], "-a option requires 1 argument")
|
||||
|
||||
def test_invalid_integer(self):
|
||||
self.assertParseFail(["-b", "5x"],
|
||||
|
|
|
@ -75,6 +75,8 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #4391: Use proper gettext plural forms in optparse.
|
||||
|
||||
- Issue #11563: Connection:close header is sent by requests using URLOpener
|
||||
class which helps in closing of sockets after connection is over. Patch
|
||||
contributions by Jeff McNeil and Nadeem Vawda.
|
||||
|
|
Loading…
Reference in New Issue