[Python-checkins] cpython: Mark getopt error messages as localizable (fixes #11371).

eric.araujo python-checkins at python.org
Mon Mar 21 03:22:58 CET 2011


http://hg.python.org/cpython/rev/d3e46930ffe9
changeset:   68789:d3e46930ffe9
user:        Éric Araujo <merwok at netwok.org>
date:        Mon Mar 21 00:09:07 2011 +0100
summary:
  Mark getopt error messages as localizable (fixes #11371).

Patch by Filip Gruszczyński.

files:
  Lib/getopt.py
  Misc/NEWS

diff --git a/Lib/getopt.py b/Lib/getopt.py
--- a/Lib/getopt.py
+++ b/Lib/getopt.py
@@ -19,7 +19,7 @@
 # Gerrit Holl <gerrit at nl.linux.org> moved the string-based exceptions
 # to class-based exceptions.
 #
-# Peter Ã
strand <astrand at lysator.liu.se> added gnu_getopt().
+# Peter Åstrand <astrand at lysator.liu.se> added gnu_getopt().
 #
 # TODO for gnu_getopt():
 #
@@ -34,6 +34,7 @@
 __all__ = ["GetoptError","error","getopt","gnu_getopt"]
 
 import os
+from gettext import gettext as _
 
 class GetoptError(Exception):
     opt = ''
@@ -153,10 +154,10 @@
     if has_arg:
         if optarg is None:
             if not args:
-                raise GetoptError('option --%s requires argument' % opt, opt)
+                raise GetoptError(_('option --%s requires argument') % opt, opt)
             optarg, args = args[0], args[1:]
     elif optarg is not None:
-        raise GetoptError('option --%s must not have an argument' % opt, opt)
+        raise GetoptError(_('option --%s must not have an argument') % opt, opt)
     opts.append(('--' + opt, optarg or ''))
     return opts, args
 
@@ -166,7 +167,7 @@
 def long_has_args(opt, longopts):
     possibilities = [o for o in longopts if o.startswith(opt)]
     if not possibilities:
-        raise GetoptError('option --%s not recognized' % opt, opt)
+        raise GetoptError(_('option --%s not recognized') % opt, opt)
     # Is there an exact match?
     if opt in possibilities:
         return False, opt
@@ -176,7 +177,7 @@
     if len(possibilities) > 1:
         # XXX since possibilities contains all valid continuations, might be
         # nice to work them into the error msg
-        raise GetoptError('option --%s not a unique prefix' % opt, opt)
+        raise GetoptError(_('option --%s not a unique prefix') % opt, opt)
     assert len(possibilities) == 1
     unique_match = possibilities[0]
     has_arg = unique_match.endswith('=')
@@ -190,7 +191,7 @@
         if short_has_arg(opt, shortopts):
             if optstring == '':
                 if not args:
-                    raise GetoptError('option -%s requires argument' % opt,
+                    raise GetoptError(_('option -%s requires argument') % opt,
                                       opt)
                 optstring, args = args[0], args[1:]
             optarg, optstring = optstring, ''
@@ -203,7 +204,7 @@
     for i in range(len(shortopts)):
         if opt == shortopts[i] != ':':
             return shortopts.startswith(':', i+1)
-    raise GetoptError('option -%s not recognized' % opt, opt)
+    raise GetoptError(_('option -%s not recognized') % opt, opt)
 
 if __name__ == '__main__':
     import sys
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -75,6 +75,9 @@
 Library
 -------
 
+- Issue #11371: Mark getopt error messages as localizable.  Patch by Filip
+  Gruszczyński.
+
 - Issue #4391: Use proper gettext plural forms in optparse.
 
 - Issue #11563: Connection:close header is sent by requests using URLOpener

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


More information about the Python-checkins mailing list