From: Benjamin Peterson Date: Thu, 23 Dec 2010 22:49:38 +0000 (+0000) Subject: use native tenary condition X-Git-Tag: v3.2rc1~363 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a91dd1e411c405ec3b5eba9a9e917c43f9f20223;p=python use native tenary condition --- diff --git a/Lib/gettext.py b/Lib/gettext.py index f9392d80d5..0ad3bae4be 100644 --- a/Lib/gettext.py +++ b/Lib/gettext.py @@ -58,20 +58,6 @@ __all__ = ['NullTranslations', 'GNUTranslations', 'Catalog', _default_localedir = os.path.join(sys.prefix, 'share', 'locale') -def test(condition, true, false): - """ - Implements the C expression: - - condition ? true : false - - Required to correctly interpret plural forms. - """ - if condition: - return true - else: - return false - - def c2py(plural): """Gets a C expression as used in PO files for plural forms and returns a Python lambda function that implements an equivalent expression. @@ -99,8 +85,8 @@ def c2py(plural): # "a?b:c" to "test(a,b,c)". expr = re.compile(r'(.*?)\?(.*?):(.*)') def repl(x): - return "test(%s, %s, %s)" % (x.group(1), x.group(2), - expr.sub(repl, x.group(3))) + return "(%s if %s else %s)" % (x.group(2), x.group(1), + expr.sub(repl, x.group(3))) # Code to transform the plural expression, taking care of parentheses stack = ['']