summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Rivera <stefano@rivera.za.net>2022-12-29 14:55:08 -0400
committerStefano Rivera <stefano@rivera.za.net>2022-12-29 14:56:34 -0400
commit7ecd8d6f75d9d21f3f7b10e4c84958cf3aa8fb17 (patch)
tree24a0b8ffc727bbd3a0c637aa84119e9ace8d1b51
parent109345ccc7779bb5eda68d2c6f6f8808065666bc (diff)
downloadpyramid-7ecd8d6f75d9d21f3f7b10e4c84958cf3aa8fb17.tar.gz
pyramid-7ecd8d6f75d9d21f3f7b10e4c84958cf3aa8fb17.tar.bz2
pyramid-7ecd8d6f75d9d21f3f7b10e4c84958cf3aa8fb17.zip
Drop l*gettext() from pyramid.i18n
Python 3.8 deprecated l*gettext() (bpo-33710), and it was removed from Python in 3.11 (bpo-44235). In most cases on Python 3, the l variants aren't useful, and difficult to use correctly. This adds support for Python 3.11.
-rw-r--r--CHANGES.rst3
-rw-r--r--src/pyramid/i18n.py12
-rw-r--r--tests/test_i18n.py12
3 files changed, 3 insertions, 24 deletions
diff --git a/CHANGES.rst b/CHANGES.rst
index 698aec734..b9eacd894 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -13,6 +13,9 @@ Backward Incompatibilities
--------------------------
- Pyramid is no longer tested on, nor supports Python 3.6
+- Pyramid drops support for l*gettext() methods in the i18n module.
+ These have been deprecated in Python's gettext module since 3.8, and
+ removed in Python 3.11.
Documentation Changes
---------------------
diff --git a/src/pyramid/i18n.py b/src/pyramid/i18n.py
index cded99ca5..e7710f08d 100644
--- a/src/pyramid/i18n.py
+++ b/src/pyramid/i18n.py
@@ -335,12 +335,6 @@ class Translations(gettext.GNUTranslations):
"""
return self._domains.get(domain, self).gettext(message)
- def ldgettext(self, domain, message):
- """Like ``lgettext()``, but look the message up in the specified
- domain.
- """
- return self._domains.get(domain, self).lgettext(message)
-
def dugettext(self, domain, message):
"""Like ``ugettext()``, but look the message up in the specified
domain.
@@ -353,12 +347,6 @@ class Translations(gettext.GNUTranslations):
"""
return self._domains.get(domain, self).ngettext(singular, plural, num)
- def ldngettext(self, domain, singular, plural, num):
- """Like ``lngettext()``, but look the message up in the specified
- domain.
- """
- return self._domains.get(domain, self).lngettext(singular, plural, num)
-
def dungettext(self, domain, singular, plural, num):
"""Like ``ungettext()`` but look the message up in the specified
domain.
diff --git a/tests/test_i18n.py b/tests/test_i18n.py
index 206eea290..a4834cedc 100644
--- a/tests/test_i18n.py
+++ b/tests/test_i18n.py
@@ -421,11 +421,6 @@ class TestTranslations(unittest.TestCase):
self.assertEqual(t.dgettext('messages', 'foo'), 'Voh')
self.assertEqual(t.dgettext('messages1', 'foo'), 'VohD')
- def test_ldgettext(self):
- t = self._makeOne()
- self.assertEqual(t.ldgettext('messages', 'foo'), b'Voh')
- self.assertEqual(t.ldgettext('messages1', 'foo'), b'VohD')
-
def test_dugettext(self):
t = self._makeOne()
self.assertEqual(t.dugettext('messages', 'foo'), 'Voh')
@@ -436,13 +431,6 @@ class TestTranslations(unittest.TestCase):
self.assertEqual(t.dngettext('messages', 'foo1', 'foos1', 1), 'Voh1')
self.assertEqual(t.dngettext('messages1', 'foo1', 'foos1', 1), 'VohD1')
- def test_ldngettext(self):
- t = self._makeOne()
- self.assertEqual(t.ldngettext('messages', 'foo1', 'foos1', 1), b'Voh1')
- self.assertEqual(
- t.ldngettext('messages1', 'foo1', 'foos1', 1), b'VohD1'
- )
-
def test_dungettext(self):
t = self._makeOne()
self.assertEqual(t.dungettext('messages', 'foo1', 'foos1', 1), 'Voh1')