bpo-28692: Deprecate using non-integer value for selecting a plural form in gettext. (#507)
This commit is contained in:
parent
1989763f0d
commit
f6595983e0
|
@ -180,6 +180,10 @@ Deprecated
|
||||||
both deprecated in Python 3.4 now emit :exc:`DeprecationWarning`. (Contributed
|
both deprecated in Python 3.4 now emit :exc:`DeprecationWarning`. (Contributed
|
||||||
by Matthias Bussonnier in :issue:`29576`)
|
by Matthias Bussonnier in :issue:`29576`)
|
||||||
|
|
||||||
|
- Using non-integer value for selecting a plural form in :mod:`gettext` is
|
||||||
|
now deprecated. It never correctly worked.
|
||||||
|
(Contributed by Serhiy Storchaka in :issue:`28692`.)
|
||||||
|
|
||||||
|
|
||||||
Removed
|
Removed
|
||||||
=======
|
=======
|
||||||
|
|
|
@ -164,6 +164,10 @@ def _as_int(n):
|
||||||
except TypeError:
|
except TypeError:
|
||||||
raise TypeError('Plural value must be an integer, got %s' %
|
raise TypeError('Plural value must be an integer, got %s' %
|
||||||
(n.__class__.__name__,)) from None
|
(n.__class__.__name__,)) from None
|
||||||
|
import warnings
|
||||||
|
warnings.warn('Plural value must be an integer, got %s' %
|
||||||
|
(n.__class__.__name__,),
|
||||||
|
DeprecationWarning, 4)
|
||||||
return n
|
return n
|
||||||
|
|
||||||
def c2py(plural):
|
def c2py(plural):
|
||||||
|
|
|
@ -443,9 +443,12 @@ class PluralFormsTestCase(GettextBaseTest):
|
||||||
f = gettext.c2py('n != 1')
|
f = gettext.c2py('n != 1')
|
||||||
self.assertEqual(f(1), 0)
|
self.assertEqual(f(1), 0)
|
||||||
self.assertEqual(f(2), 1)
|
self.assertEqual(f(2), 1)
|
||||||
self.assertEqual(f(1.0), 0)
|
with self.assertWarns(DeprecationWarning):
|
||||||
self.assertEqual(f(2.0), 1)
|
self.assertEqual(f(1.0), 0)
|
||||||
self.assertEqual(f(1.1), 1)
|
with self.assertWarns(DeprecationWarning):
|
||||||
|
self.assertEqual(f(2.0), 1)
|
||||||
|
with self.assertWarns(DeprecationWarning):
|
||||||
|
self.assertEqual(f(1.1), 1)
|
||||||
self.assertRaises(TypeError, f, '2')
|
self.assertRaises(TypeError, f, '2')
|
||||||
self.assertRaises(TypeError, f, b'2')
|
self.assertRaises(TypeError, f, b'2')
|
||||||
self.assertRaises(TypeError, f, [])
|
self.assertRaises(TypeError, f, [])
|
||||||
|
|
|
@ -270,6 +270,9 @@ Extension Modules
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- bpo-28692: Using non-integer value for selecting a plural form in gettext is
|
||||||
|
now deprecated.
|
||||||
|
|
||||||
- bpo-26121: Use C library implementation for math functions:
|
- bpo-26121: Use C library implementation for math functions:
|
||||||
tgamma(), lgamma(), erf() and erfc().
|
tgamma(), lgamma(), erf() and erfc().
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue