Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f659598

Browse files
bpo-28692: Deprecate using non-integer value for selecting a plural form in gettext. (#507)
1 parent 1989763 commit f659598

File tree

4 files changed

+17
-3
lines changed

4 files changed

+17
-3
lines changed

Doc/whatsnew/3.7.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,10 @@ Deprecated
180180
both deprecated in Python 3.4 now emit :exc:`DeprecationWarning`. (Contributed
181181
by Matthias Bussonnier in :issue:`29576`)
182182

183+
- Using non-integer value for selecting a plural form in :mod:`gettext` is
184+
now deprecated. It never correctly worked.
185+
(Contributed by Serhiy Storchaka in :issue:`28692`.)
186+
183187

184188
Removed
185189
=======

Lib/gettext.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,10 @@ def _as_int(n):
164164
except TypeError:
165165
raise TypeError('Plural value must be an integer, got %s' %
166166
(n.__class__.__name__,)) from None
167+
import warnings
168+
warnings.warn('Plural value must be an integer, got %s' %
169+
(n.__class__.__name__,),
170+
DeprecationWarning, 4)
167171
return n
168172

169173
def c2py(plural):

Lib/test/test_gettext.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -443,9 +443,12 @@ def test_plural_number(self):
443443
f = gettext.c2py('n != 1')
444444
self.assertEqual(f(1), 0)
445445
self.assertEqual(f(2), 1)
446-
self.assertEqual(f(1.0), 0)
447-
self.assertEqual(f(2.0), 1)
448-
self.assertEqual(f(1.1), 1)
446+
with self.assertWarns(DeprecationWarning):
447+
self.assertEqual(f(1.0), 0)
448+
with self.assertWarns(DeprecationWarning):
449+
self.assertEqual(f(2.0), 1)
450+
with self.assertWarns(DeprecationWarning):
451+
self.assertEqual(f(1.1), 1)
449452
self.assertRaises(TypeError, f, '2')
450453
self.assertRaises(TypeError, f, b'2')
451454
self.assertRaises(TypeError, f, [])

Misc/NEWS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,9 @@ Extension Modules
270270
Library
271271
-------
272272

273+
- bpo-28692: Using non-integer value for selecting a plural form in gettext is
274+
now deprecated.
275+
273276
- bpo-26121: Use C library implementation for math functions:
274277
tgamma(), lgamma(), erf() and erfc().
275278

0 commit comments

Comments
 (0)