Kaydet (Commit) 416ecffc authored tarafından Petri Lehtinen's avatar Petri Lehtinen

Issue #3067: Enhance the documentation and docstring of locale.setlocale()

üst 49aa72ed
...@@ -23,19 +23,19 @@ The :mod:`locale` module defines the following exception and functions: ...@@ -23,19 +23,19 @@ The :mod:`locale` module defines the following exception and functions:
.. exception:: Error .. exception:: Error
Exception raised when :func:`setlocale` fails. Exception raised when the locale passed to :func:`setlocale` is not
recognized.
.. function:: setlocale(category[, locale]) .. function:: setlocale(category[, locale])
If *locale* is specified, it may be a string, a tuple of the form ``(language If *locale* is given and not ``None``, :func:`setlocale` modifies the locale
code, encoding)``, or ``None``. If it is a tuple, it is converted to a string setting for the *category*. The available categories are listed in the data
using the locale aliasing engine. If *locale* is given and not ``None``, description below. *locale* may be a string, or an iterable of two strings
:func:`setlocale` modifies the locale setting for the *category*. The available (language code and encoding). If it's an iterable, it's converted to a locale
categories are listed in the data description below. The value is the name of a name using the locale aliasing engine. An empty string specifies the user's
locale. An empty string specifies the user's default settings. If the default settings. If the modification of the locale fails, the exception
modification of the locale fails, the exception :exc:`Error` is raised. If :exc:`Error` is raised. If successful, the new locale setting is returned.
successful, the new locale setting is returned.
If *locale* is omitted or ``None``, the current setting for *category* is If *locale* is omitted or ``None``, the current setting for *category* is
returned. returned.
...@@ -51,7 +51,7 @@ The :mod:`locale` module defines the following exception and functions: ...@@ -51,7 +51,7 @@ The :mod:`locale` module defines the following exception and functions:
changed thereafter, using multithreading should not cause problems. changed thereafter, using multithreading should not cause problems.
.. versionchanged:: 2.0 .. versionchanged:: 2.0
Added support for tuple values of the *locale* parameter. Added support for iterable values of the *locale* parameter.
.. function:: localeconv() .. function:: localeconv()
......
...@@ -524,9 +524,10 @@ def getlocale(category=LC_CTYPE): ...@@ -524,9 +524,10 @@ def getlocale(category=LC_CTYPE):
def setlocale(category, locale=None): def setlocale(category, locale=None):
""" Set the locale for the given category. The locale can be """ Set the locale for the given category. The locale can be
a string, a locale tuple (language code, encoding), or None. a string, an iterable of two strings (language code and encoding),
or None.
Locale tuples are converted to strings the locale aliasing Iterables are converted to strings using the locale aliasing
engine. Locale strings are passed directly to the C lib. engine. Locale strings are passed directly to the C lib.
category may be given as one of the LC_* values. category may be given as one of the LC_* values.
......
...@@ -74,6 +74,9 @@ Core and Builtins ...@@ -74,6 +74,9 @@ Core and Builtins
Library Library
------- -------
- Issue #3067: Enhance the documentation and docstring of
locale.setlocale().
- Issue #13254: Fix Maildir initialization so that maildir contents - Issue #13254: Fix Maildir initialization so that maildir contents
are read correctly. are read correctly.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment