mirror of https://github.com/python/cpython
bpo-46659: Deprecate locale.getdefaultlocale() (GH-31206)
The locale.getdefaultlocale() function is deprecated and will be removed in Python 3.13. Use locale.setlocale(), locale.getpreferredencoding(False) and locale.getlocale() functions instead.
This commit is contained in:
parent
ccbe8045fa
commit
b899126094
|
@ -301,6 +301,8 @@ The :mod:`locale` module defines the following exception and functions:
|
|||
*language code* and *encoding* may be ``None`` if their values cannot be
|
||||
determined.
|
||||
|
||||
.. deprecated:: 3.11 3.13
|
||||
|
||||
|
||||
.. function:: getlocale(category=LC_CTYPE)
|
||||
|
||||
|
|
|
@ -486,6 +486,12 @@ Deprecated
|
|||
|
||||
(Contributed by Hugo van Kemenade in :issue:`45173`.)
|
||||
|
||||
* The :func:`locale.getdefaultlocale` function is deprecated and will be
|
||||
removed in Python 3.13. Use :func:`locale.setlocale`,
|
||||
:func:`locale.getpreferredencoding(False) <locale.getpreferredencoding>` and
|
||||
:func:`locale.getlocale` functions instead.
|
||||
(Contributed by Victor Stinner in :issue:`46659`.)
|
||||
|
||||
|
||||
Removed
|
||||
=======
|
||||
|
|
|
@ -555,6 +555,12 @@ def getdefaultlocale(envvars=('LC_ALL', 'LC_CTYPE', 'LANG', 'LANGUAGE')):
|
|||
|
||||
"""
|
||||
|
||||
import warnings
|
||||
warnings.warn(
|
||||
"Use setlocale(), getpreferredencoding(False) and getlocale() instead",
|
||||
DeprecationWarning, stacklevel=2
|
||||
)
|
||||
|
||||
try:
|
||||
# check if it's supported by the _locale module
|
||||
import _locale
|
||||
|
|
|
@ -518,7 +518,8 @@ class TestMiscellaneous(unittest.TestCase):
|
|||
|
||||
os.environ['LC_CTYPE'] = 'UTF-8'
|
||||
|
||||
self.assertEqual(locale.getdefaultlocale(), (None, 'UTF-8'))
|
||||
with check_warnings(('', DeprecationWarning)):
|
||||
self.assertEqual(locale.getdefaultlocale(), (None, 'UTF-8'))
|
||||
|
||||
finally:
|
||||
for k in orig_env:
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
The :func:`locale.getdefaultlocale` function is deprecated and will be removed
|
||||
in Python 3.13. Use :func:`locale.setlocale`,
|
||||
:func:`locale.getpreferredencoding(False) <locale.getpreferredencoding>` and
|
||||
:func:`locale.getlocale` functions instead. Patch by Victor Stinner.
|
Loading…
Reference in New Issue