Commit d005233b authored by Tres Seaver's avatar Tres Seaver

Drop support for Python 2.4 and 2.5.

Replace deprecated 'zope.interface.implements' usage with equivalent
'zope.interface.implementer' decorator.
parent 86236c40
......@@ -2,10 +2,15 @@
CHANGES
=======
3.6.2 (unreleased)
4.0.0 (unreleased)
------------------
- Python 3 support.
- Replaced deprecated ``zope.interface.implements`` usage with equivalent
``zope.interface.implementer`` decorator.
- Dropped support for Python 2.4 and 2.5.
- Added Python 3.2 support.
3.6.1 (2010-07-06)
------------------
......
......@@ -34,7 +34,7 @@ def read(*rnames):
return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
setup(name='zope.proxy',
version = '3.6.2dev',
version = '4.0.0dev',
author='Zope Foundation and Contributors',
author_email='zope-dev@zope.org',
description='Generic Transparent Proxies',
......@@ -50,12 +50,10 @@ setup(name='zope.proxy',
'Intended Audience :: Developers',
'License :: OSI Approved :: Zope Public License',
'Programming Language :: Python',
'Programming Language :: Python :: 2.4',
'Programming Language :: Python :: 2.5',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.1',
'Programming Language :: Python :: 3.2',
'Natural Language :: English',
'Operating System :: OS Independent'],
......
......@@ -27,7 +27,9 @@ from zope.interface import providedBy
class DecoratorSpecificationDescriptor(ObjectSpecificationDescriptor):
"""Support for interface declarations on decorators
>>> from zope.interface import *
>>> from zope.interface import Interface
>>> from zope.interface import directlyProvides
>>> from zope.interface import implementer
>>> class I1(Interface):
... pass
>>> class I2(Interface):
......@@ -37,15 +39,18 @@ class DecoratorSpecificationDescriptor(ObjectSpecificationDescriptor):
>>> class I4(Interface):
... pass
>>> class D1(SpecificationDecoratorBase):
... implements(I1)
>>> @implementer(I1)
... class D1(SpecificationDecoratorBase):
... pass
>>> class D2(SpecificationDecoratorBase):
... implements(I2)
>>> @implementer(I2)
... class D2(SpecificationDecoratorBase):
... pass
>>> class X(object):
... implements(I3)
>>> @implementer(I3)
... class X(object):
... pass
>>> x = X()
>>> directlyProvides(x, I4)
......@@ -67,8 +72,9 @@ class DecoratorSpecificationDescriptor(ObjectSpecificationDescriptor):
SpecificationDecorators also work with old-style classes:
>>> class X:
... implements(I3)
>>> @implementer(I3)
... class X:
... pass
>>> x = X()
>>> directlyProvides(x, I4)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment