diff options
author | Jens Vagelpohl <jens@plyp.com> | 2023-01-03 14:52:28 +0100 |
---|---|---|
committer | Jens Vagelpohl <jens@plyp.com> | 2023-01-03 14:52:28 +0100 |
commit | d5c9fe7e470fbd65d916c7d24ffd808efdcad30f (patch) | |
tree | 8018cfee465e47deb5ba0e7c9259fda70f8c8e3e /src | |
parent | d7145657a546bb97f2395b3add2be446d9285b2c (diff) | |
download | zope-i18nmessageid-d5c9fe7e470fbd65d916c7d24ffd808efdcad30f.tar.gz |
- Drop support for Python 2.7, 3.5, 3.6
Diffstat (limited to 'src')
-rw-r--r-- | src/zope/i18nmessageid/message.py | 14 | ||||
-rw-r--r-- | src/zope/i18nmessageid/tests.py | 6 |
2 files changed, 9 insertions, 11 deletions
diff --git a/src/zope/i18nmessageid/message.py b/src/zope/i18nmessageid/message.py index 5142a81..0acab7a 100644 --- a/src/zope/i18nmessageid/message.py +++ b/src/zope/i18nmessageid/message.py @@ -13,14 +13,12 @@ ############################################################################## """I18n Messages and factories. """ -import six - __docformat__ = "reStructuredText" _marker = object() -class Message(six.text_type): +class Message(str): """Message (Python implementation) This is a string used as a message. It has a domain attribute that is @@ -36,7 +34,7 @@ class Message(six.text_type): def __new__(cls, ustr, domain=_marker, default=_marker, mapping=_marker, msgid_plural=_marker, default_plural=_marker, number=_marker): - self = six.text_type.__new__(cls, ustr) + self = str.__new__(cls, ustr) if isinstance(ustr, self.__class__): self.domain = ustr.domain self.default = ustr.default @@ -66,7 +64,7 @@ class Message(six.text_type): self.number = number if self.number is not None and not isinstance( - self.number, six.integer_types + (float,)): + self.number, (int,) + (float,)): raise TypeError('`number` should be an integer or a float') self._readonly = True @@ -80,11 +78,11 @@ class Message(six.text_type): if getattr(self, '_readonly', False): raise TypeError('readonly attribute') else: - return six.text_type.__setattr__(self, key, value) + return str.__setattr__(self, key, value) def __getstate__(self): return ( - six.text_type(self), self.domain, self.default, self.mapping, + str(self), self.domain, self.default, self.mapping, self.msgid_plural, self.default_plural, self.number) def __reduce__(self): @@ -101,7 +99,7 @@ except ImportError: # pragma: no cover pass -class MessageFactory(object): +class MessageFactory: """Factory for creating i18n messages.""" def __init__(self, domain): diff --git a/src/zope/i18nmessageid/tests.py b/src/zope/i18nmessageid/tests.py index 5dafd4e..1b2bbee 100644 --- a/src/zope/i18nmessageid/tests.py +++ b/src/zope/i18nmessageid/tests.py @@ -151,7 +151,7 @@ class PyMessageTests(unittest.TestCase): # https://github.com/zopefoundation/zope.i18nmessageid/issues/14 pref_msg = self._makeOne("${name} Preferences") self.assertIsNone(pref_msg.default) - copy = self._makeOne(pref_msg, mapping={u'name': u'name'}) + copy = self._makeOne(pref_msg, mapping={'name': 'name'}) self.assertIsNone(copy.default) def test_copy_no_overrides(self): @@ -220,12 +220,12 @@ class PyMessageTests(unittest.TestCase): 'testings', 'defaults', 2)) def test_non_unicode_default(self): - message = self._makeOne(u'str', default=123) + message = self._makeOne('str', default=123) self.assertEqual(message.default, 123) def test_non_numeric_number(self): with self.assertRaises((TypeError, AttributeError)): - self._makeOne(u'str', default=123, number="one") + self._makeOne('str', default=123, number="one") @unittest.skipIf(messageid.Message is messageid.pyMessage, "Duplicate tests") |