Branch merge

This commit is contained in:
Éric Araujo 2011-03-21 03:17:12 +01:00
commit 50dc1a23d8
3 changed files with 13 additions and 9 deletions

View File

@ -112,7 +112,7 @@ Importing Modules
.. c:function:: PyObject* PyImport_AddModule(const char *name) .. c:function:: PyObject* PyImport_AddModule(const char *name)
Similar to :c:func:`PyImport_AddModuleObject`, but the name is an UTF-8 Similar to :c:func:`PyImport_AddModuleObject`, but the name is a UTF-8
encoded string instead of a Unicode object. encoded string instead of a Unicode object.
@ -237,7 +237,7 @@ Importing Modules
.. c:function:: int PyImport_ImportFrozenModule(char *name) .. c:function:: int PyImport_ImportFrozenModule(char *name)
Similar to :c:func:`PyImport_ImportFrozenModuleObject`, but the name is an Similar to :c:func:`PyImport_ImportFrozenModuleObject`, but the name is a
UTF-8 encoded string instead of a Unicode object. UTF-8 encoded string instead of a Unicode object.

View File

@ -19,7 +19,7 @@ option involved with the exception.
# Gerrit Holl <gerrit@nl.linux.org> moved the string-based exceptions # Gerrit Holl <gerrit@nl.linux.org> moved the string-based exceptions
# to class-based exceptions. # to class-based exceptions.
# #
# Peter Åstrand <astrand@lysator.liu.se> added gnu_getopt(). # Peter Åstrand <astrand@lysator.liu.se> added gnu_getopt().
# #
# TODO for gnu_getopt(): # TODO for gnu_getopt():
# #
@ -34,6 +34,7 @@ option involved with the exception.
__all__ = ["GetoptError","error","getopt","gnu_getopt"] __all__ = ["GetoptError","error","getopt","gnu_getopt"]
import os import os
from gettext import gettext as _
class GetoptError(Exception): class GetoptError(Exception):
opt = '' opt = ''
@ -153,10 +154,10 @@ def do_longs(opts, opt, longopts, args):
if has_arg: if has_arg:
if optarg is None: if optarg is None:
if not args: 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:] optarg, args = args[0], args[1:]
elif optarg is not None: 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 '')) opts.append(('--' + opt, optarg or ''))
return opts, args return opts, args
@ -166,7 +167,7 @@ def do_longs(opts, opt, longopts, args):
def long_has_args(opt, longopts): def long_has_args(opt, longopts):
possibilities = [o for o in longopts if o.startswith(opt)] possibilities = [o for o in longopts if o.startswith(opt)]
if not possibilities: if not possibilities:
raise GetoptError('option --%s not recognized' % opt, opt) raise GetoptError(_('option --%s not recognized') % opt, opt)
# Is there an exact match? # Is there an exact match?
if opt in possibilities: if opt in possibilities:
return False, opt return False, opt
@ -176,7 +177,7 @@ def long_has_args(opt, longopts):
if len(possibilities) > 1: if len(possibilities) > 1:
# XXX since possibilities contains all valid continuations, might be # XXX since possibilities contains all valid continuations, might be
# nice to work them into the error msg # 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 assert len(possibilities) == 1
unique_match = possibilities[0] unique_match = possibilities[0]
has_arg = unique_match.endswith('=') has_arg = unique_match.endswith('=')
@ -190,7 +191,7 @@ def do_shorts(opts, optstring, shortopts, args):
if short_has_arg(opt, shortopts): if short_has_arg(opt, shortopts):
if optstring == '': if optstring == '':
if not args: if not args:
raise GetoptError('option -%s requires argument' % opt, raise GetoptError(_('option -%s requires argument') % opt,
opt) opt)
optstring, args = args[0], args[1:] optstring, args = args[0], args[1:]
optarg, optstring = optstring, '' optarg, optstring = optstring, ''
@ -203,7 +204,7 @@ def short_has_arg(opt, shortopts):
for i in range(len(shortopts)): for i in range(len(shortopts)):
if opt == shortopts[i] != ':': if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1) return shortopts.startswith(':', i+1)
raise GetoptError('option -%s not recognized' % opt, opt) raise GetoptError(_('option -%s not recognized') % opt, opt)
if __name__ == '__main__': if __name__ == '__main__':
import sys import sys

View File

@ -81,6 +81,9 @@ Core and Builtins
Library Library
------- -------
- Issue #11371: Mark getopt error messages as localizable. Patch by Filip
Gruszczyński.
- Issue #5537: Fix time2isoz() and time2netscape() functions of - Issue #5537: Fix time2isoz() and time2netscape() functions of
httplib.cookiejar for expiration year greater than 2038 on 32-bit systems. httplib.cookiejar for expiration year greater than 2038 on 32-bit systems.