From 7ecd8d6f75d9d21f3f7b10e4c84958cf3aa8fb17 Mon Sep 17 00:00:00 2001 From: Stefano Rivera Date: Thu, 29 Dec 2022 14:55:08 -0400 Subject: 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. --- CHANGES.rst | 3 +++ src/pyramid/i18n.py | 12 ------------ tests/test_i18n.py | 12 ------------ 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') -- cgit v1.2.3