diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2024-12-13 11:24:01 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2024-12-13 11:39:04 +0300 |
commit | 8ab4ecc8f6b38cb40a0538c26f53abd3343094f3 (patch) | |
tree | 130f3c2d74ced87dbae00dd8c59968dee2b206c9 /contrib/python/zope.interface/py3/zope/interface/common | |
parent | b643b0cb5b1a28996ce6ff18a3689d7af03f2e58 (diff) | |
download | ydb-8ab4ecc8f6b38cb40a0538c26f53abd3343094f3.tar.gz |
Intermediate changes
commit_hash:733d9d1dc02b26eb79eefc2059e2b9e39f7e1289
Diffstat (limited to 'contrib/python/zope.interface/py3/zope/interface/common')
3 files changed, 30 insertions, 19 deletions
diff --git a/contrib/python/zope.interface/py3/zope/interface/common/builtins.py b/contrib/python/zope.interface/py3/zope/interface/common/builtins.py index 09de5b3b2f..9e543c83f5 100644 --- a/contrib/python/zope.interface/py3/zope/interface/common/builtins.py +++ b/contrib/python/zope.interface/py3/zope/interface/common/builtins.py @@ -19,6 +19,7 @@ that they implement the appropriate interface. """ from zope.interface import classImplements +from zope.interface._compat import PY313_OR_OLDER from zope.interface.common import collections from zope.interface.common import io from zope.interface.common import numbers @@ -67,17 +68,18 @@ class ITextString(collections.ISequence): extra_classes = (str,) -class IByteString(collections.IByteString): - """ - Interface for immutable byte strings. +if PY313_OR_OLDER: + class IByteString(collections.IByteString): + """ + Interface for immutable byte strings. - On all Python versions this is :class:`bytes`. + On all Python versions this is :class:`bytes`. - Unlike :class:`zope.interface.common.collections.IByteString` - (the parent of this interface) this does *not* include - :class:`bytearray`. - """ - extra_classes = (bytes,) + Unlike :class:`zope.interface.common.collections.IByteString` + (the parent of this interface) this does *not* include + :class:`bytearray`. + """ + extra_classes = (bytes,) class INativeString(ITextString): diff --git a/contrib/python/zope.interface/py3/zope/interface/common/collections.py b/contrib/python/zope.interface/py3/zope/interface/common/collections.py index 543266d9cf..defa8a15b9 100644 --- a/contrib/python/zope.interface/py3/zope/interface/common/collections.py +++ b/contrib/python/zope.interface/py3/zope/interface/common/collections.py @@ -38,6 +38,7 @@ from collections import UserList from collections import UserString from collections import abc +from zope.interface._compat import PY313_OR_OLDER from zope.interface.common import ABCInterface from zope.interface.common import optional @@ -190,13 +191,14 @@ class IMutableSequence(ISequence): extra_classes = (UserList,) -class IByteString(ISequence): - """ - This unifies `bytes` and `bytearray`. - """ - abc = _new_in_ver( - 'ByteString', True, (ISequence.getABC(),), (bytes, bytearray), - ) +if PY313_OR_OLDER: + class IByteString(ISequence): + """ + This unifies `bytes` and `bytearray`. + """ + abc = _new_in_ver( + 'ByteString', True, (ISequence.getABC(),), (bytes, bytearray), + ) class ISet(ICollection): diff --git a/contrib/python/zope.interface/py3/zope/interface/common/tests/test_builtins.py b/contrib/python/zope.interface/py3/zope/interface/common/tests/test_builtins.py index cf7019bfc5..3c76439283 100644 --- a/contrib/python/zope.interface/py3/zope/interface/common/tests/test_builtins.py +++ b/contrib/python/zope.interface/py3/zope/interface/common/tests/test_builtins.py @@ -12,6 +12,7 @@ import unittest +from zope.interface._compat import PY313_OR_OLDER from zope.interface.common import builtins from . import VerifyClassMixin @@ -24,16 +25,22 @@ class TestVerifyClass(VerifyClassMixin, pass -add_verify_tests(TestVerifyClass, ( +VERIFY_TESTS = [ (builtins.IList, (list,)), (builtins.ITuple, (tuple,)), (builtins.ITextString, (str,)), - (builtins.IByteString, (bytes,)), (builtins.INativeString, (str,)), (builtins.IBool, (bool,)), (builtins.IDict, (dict,)), (builtins.IFile, ()), -)) + +] +if PY313_OR_OLDER: + VERIFY_TESTS.append( + (builtins.IByteString, (bytes,)) + ) + +add_verify_tests(TestVerifyClass, tuple(VERIFY_TESTS)) class TestVerifyObject(VerifyObjectMixin, |