[Checkins] SVN: zope.contentprovider/trunk/ Drop support for Python 2.4 and 2.5.

Tres Seaver cvs-admin at zope.org
Fri May 18 13:39:36 UTC 2012


Log message for revision 126088:
  Drop support for Python 2.4 and 2.5.
  
  Replace deprecated 'zope.component.adapts' usage with equivalent
  'zope.component.adapter' decorator.
  
  Replace deprecated 'zope.interface.implements' usage with equivalent
  'zope.interface.implementer' decorator.
  
  

Changed:
  U   zope.contentprovider/trunk/CHANGES.txt
  U   zope.contentprovider/trunk/setup.py
  U   zope.contentprovider/trunk/src/zope/contentprovider/README.txt
  U   zope.contentprovider/trunk/src/zope/contentprovider/interfaces.py
  U   zope.contentprovider/trunk/src/zope/contentprovider/provider.py
  U   zope.contentprovider/trunk/src/zope/contentprovider/tales.py

-=-
Modified: zope.contentprovider/trunk/CHANGES.txt
===================================================================
--- zope.contentprovider/trunk/CHANGES.txt	2012-05-18 13:27:39 UTC (rev 126087)
+++ zope.contentprovider/trunk/CHANGES.txt	2012-05-18 13:39:33 UTC (rev 126088)
@@ -2,12 +2,18 @@
 CHANGES
 =======
 
-3.7.3 (unreleased)
+4.0.0 (unreleased)
 ------------------
 
-- TBD
+- Replaced deprecated ``zope.component.adapts`` usage with equivalent
+  ``zope.component.adapter`` decorator.
 
+- Replaced deprecated ``zope.interface.implements`` usage with equivalent
+  ``zope.interface.implementer`` decorator.
 
+- Dropped support for Python 2.4 and 2.5.
+
+
 3.7.2 (2010-05-25)
 ------------------
 

Modified: zope.contentprovider/trunk/setup.py
===================================================================
--- zope.contentprovider/trunk/setup.py	2012-05-18 13:27:39 UTC (rev 126087)
+++ zope.contentprovider/trunk/setup.py	2012-05-18 13:39:33 UTC (rev 126088)
@@ -25,7 +25,7 @@
     return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
 
 setup(name='zope.contentprovider',
-      version = '3.7.3dev',
+      version = '4.0.0dev',
       author='Zope Foundation and Contributors',
       author_email='zope-dev at zope.org',
       description='Content Provider Framework for Zope Templates',
@@ -41,6 +41,9 @@
           'Intended Audience :: Developers',
           'License :: OSI Approved :: Zope Public License',
           'Programming Language :: Python',
+          'Programming Language :: Python :: 2',
+          'Programming Language :: Python :: 2.6',
+          'Programming Language :: Python :: 2.7',
           'Natural Language :: English',
           'Operating System :: OS Independent',
           'Topic :: Internet :: WWW/HTTP',

Modified: zope.contentprovider/trunk/src/zope/contentprovider/README.txt
===================================================================
--- zope.contentprovider/trunk/src/zope/contentprovider/README.txt	2012-05-18 13:27:39 UTC (rev 126087)
+++ zope.contentprovider/trunk/src/zope/contentprovider/README.txt	2012-05-18 13:39:33 UTC (rev 126088)
@@ -108,11 +108,11 @@
   >>> import zope.component
   >>> from zope.publisher.interfaces import browser
 
-  >>> class MessageBox(object):
-  ...     zope.interface.implements(interfaces.IContentProvider)
-  ...     zope.component.adapts(zope.interface.Interface,
-  ...                           browser.IDefaultBrowserLayer,
-  ...                           zope.interface.Interface)
+  >>> @zope.interface.implementer(interfaces.IContentProvider)
+  ... @zope.component.adapter(zope.interface.Interface,
+  ...                         browser.IDefaultBrowserLayer,
+  ...                         zope.interface.Interface)
+  ... class MessageBox(object):
   ...     message = u'My Message'
   ...
   ...     def __init__(self, context, request, view):
@@ -161,11 +161,11 @@
 
 and the content provider that is updating the title:
 
-  >>> class ChangeTitle(object):
-  ...     zope.interface.implements(interfaces.IContentProvider)
-  ...     zope.component.adapts(zope.interface.Interface,
-  ...                           browser.IDefaultBrowserLayer,
-  ...                           zope.interface.Interface)
+  >>> @zope.interface.implementer(interfaces.IContentProvider)
+  ... @zope.component.adapter(zope.interface.Interface,
+  ...                         browser.IDefaultBrowserLayer,
+  ...                         zope.interface.Interface)
+  ... class ChangeTitle(object):
   ...     fieldName = 'ChangeTitle.title'
   ...
   ...     def __init__(self, context, request, view):
@@ -204,11 +204,11 @@
 influences the content of another. Let's say we have a content provider that
 displays the article's title:
 
-  >>> class ViewTitle(object):
-  ...     zope.interface.implements(interfaces.IContentProvider)
-  ...     zope.component.adapts(zope.interface.Interface,
-  ...                           browser.IDefaultBrowserLayer,
-  ...                           zope.interface.Interface)
+  >>> @zope.interface.implementer(interfaces.IContentProvider)
+  ... @zope.component.adapter(zope.interface.Interface,
+  ...                         browser.IDefaultBrowserLayer,
+  ...                         zope.interface.Interface)
+  ... class ViewTitle(object):
   ...
   ...     def __init__(self, context, request, view):
   ...         self.context, self.__parent__ = context, view
@@ -261,11 +261,11 @@
 developer has the choice to raise the ``UpdateNotCalled`` error, if any method
 is called before ``update()`` (with exception of the constructor):
 
-  >>> class InfoBox(object):
-  ...     zope.interface.implements(interfaces.IContentProvider)
-  ...     zope.component.adapts(zope.interface.Interface,
-  ...                           browser.IDefaultBrowserLayer,
-  ...                           zope.interface.Interface)
+  >>> @zope.interface.implementer(interfaces.IContentProvider)
+  ... @zope.component.adapter(zope.interface.Interface,
+  ...                         browser.IDefaultBrowserLayer,
+  ...                         zope.interface.Interface)
+  ... class InfoBox(object):
   ...
   ...     def __init__(self, context, request, view):
   ...         self.__parent__ = view
@@ -339,8 +339,9 @@
 
 Let's create a content object that can be viewed:
 
-  >>> class Content(object):
-  ...     zope.interface.implements(zope.interface.Interface)
+  >>> @zope.interface.implementer(zope.interface.Interface)
+  ... class Content(object):
+  ...     pass
 
   >>> content = Content()
 
@@ -425,8 +426,9 @@
 
 Now the message box can receive its text from the TAL environment:
 
-  >>> class DynamicMessageBox(MessageBox):
-  ...     zope.interface.implements(IMessageText)
+  >>> @zope.interface.implementer(IMessageText)
+  ... class DynamicMessageBox(MessageBox):
+  ...     pass
 
   >>> zope.component.provideAdapter(
   ...     DynamicMessageBox, provides=interfaces.IContentProvider,
@@ -478,8 +480,8 @@
 We'll change our message box content provider implementation a bit, so the new
 information is used:
 
-  >>> class BetterDynamicMessageBox(DynamicMessageBox):
-  ...     zope.interface.implements(IMessageType)
+  >>> @zope.interface.implementer(IMessageType)
+  ... class BetterDynamicMessageBox(DynamicMessageBox):
   ...     type = None
   ...
   ...     def render(self):

Modified: zope.contentprovider/trunk/src/zope/contentprovider/interfaces.py
===================================================================
--- zope.contentprovider/trunk/src/zope/contentprovider/interfaces.py	2012-05-18 13:27:39 UTC (rev 126087)
+++ zope.contentprovider/trunk/src/zope/contentprovider/interfaces.py	2012-05-18 13:39:33 UTC (rev 126088)
@@ -42,12 +42,10 @@
         """The request in which the object is udpated, might also be
         None""")
 
+ at zope.interface.implementer(IBeforeUpdateEvent)
 class BeforeUpdateEvent(ObjectEvent):
-
     """A Contentprovider will be updated"""
 
-    zope.interface.implements(IBeforeUpdateEvent)
-
     def __init__(self, provider, request=None):
         super(BeforeUpdateEvent, self).__init__(provider)
         self.request = request

Modified: zope.contentprovider/trunk/src/zope/contentprovider/provider.py
===================================================================
--- zope.contentprovider/trunk/src/zope/contentprovider/provider.py	2012-05-18 13:27:39 UTC (rev 126087)
+++ zope.contentprovider/trunk/src/zope/contentprovider/provider.py	2012-05-18 13:39:33 UTC (rev 126088)
@@ -13,19 +13,18 @@
 ##############################################################################
 """Simple base class for implementing content providers
 """
-from zope.component import adapts
-from zope.interface import Interface, implements
+from zope.component import adapter
+from zope.interface import Interface, implementer
 from zope.publisher.browser import BrowserView
 from zope.publisher.interfaces.browser import IBrowserRequest
 
 from zope.contentprovider.interfaces import IContentProvider
 
+ at implementer(IContentProvider)
+ at adapter(Interface, IBrowserRequest, Interface)
 class ContentProviderBase(BrowserView):
     """Base class for content providers"""
 
-    implements(IContentProvider)
-    adapts(Interface, IBrowserRequest, Interface)
-
     def __init__(self, context, request, view):
         super(ContentProviderBase, self).__init__(context, request)
         self.__parent__ = view

Modified: zope.contentprovider/trunk/src/zope/contentprovider/tales.py
===================================================================
--- zope.contentprovider/trunk/src/zope/contentprovider/tales.py	2012-05-18 13:27:39 UTC (rev 126087)
+++ zope.contentprovider/trunk/src/zope/contentprovider/tales.py	2012-05-18 13:39:33 UTC (rev 126088)
@@ -36,6 +36,7 @@
     provider.__dict__.update(data)
 
 
+ at zope.interface.implementer(interfaces.ITALESProviderExpression)
 class TALESProviderExpression(expressions.StringExpr):
     """Collect content provider via a TAL namespace.
 
@@ -47,8 +48,6 @@
     providers' stage one before rendering any of them.
     """
 
-    zope.interface.implements(interfaces.ITALESProviderExpression)
-
     def __call__(self, econtext):
         name = super(TALESProviderExpression, self).__call__(econtext)
         context = econtext.vars['context']



More information about the checkins mailing list