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

Tres Seaver cvs-admin at zope.org
Thu May 17 22:39:43 UTC 2012


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

Changed:
  U   zope.site/trunk/CHANGES.txt
  U   zope.site/trunk/setup.py
  U   zope.site/trunk/src/zope/site/folder.py
  U   zope.site/trunk/src/zope/site/interfaces.py
  U   zope.site/trunk/src/zope/site/site.py
  U   zope.site/trunk/src/zope/site/site.txt
  U   zope.site/trunk/src/zope/site/tests/test_registration.py
  U   zope.site/trunk/src/zope/site/tests/test_site.py

-=-
Modified: zope.site/trunk/CHANGES.txt
===================================================================
--- zope.site/trunk/CHANGES.txt	2012-05-17 22:34:16 UTC (rev 126000)
+++ zope.site/trunk/CHANGES.txt	2012-05-17 22:39:35 UTC (rev 126001)
@@ -2,9 +2,14 @@
 CHANGES
 =======
 
-3.9.3 (unreleased)
+4.0.0 (unreleased)
 ------------------
 
+- Replaced deprecated ``zope.interface.implements`` usage with equivalent
+  ``zope.interface.implementer`` decorator.
+
+- Dropped support for Python 2.4 and 2.5.
+
 - Include zcml dependencies in configure.zcml, added tests for zcml.
 
 

Modified: zope.site/trunk/setup.py
===================================================================
--- zope.site/trunk/setup.py	2012-05-17 22:34:16 UTC (rev 126000)
+++ zope.site/trunk/setup.py	2012-05-17 22:39:35 UTC (rev 126001)
@@ -44,6 +44,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.site/trunk/src/zope/site/folder.py
===================================================================
--- zope.site/trunk/src/zope/site/folder.py	2012-05-17 22:34:16 UTC (rev 126000)
+++ zope.site/trunk/src/zope/site/folder.py	2012-05-17 22:39:35 UTC (rev 126001)
@@ -13,16 +13,16 @@
 ##############################################################################
 import zope.component.interfaces
 import zope.container.folder
-from zope.interface import implements, directlyProvides
+from zope.interface import implementer, directlyProvides
 from zope.site.interfaces import IFolder, IRootFolder
 from zope.site.site import SiteManagerContainer
 
 
+ at implementer(IFolder)
 class Folder(zope.container.folder.Folder, SiteManagerContainer):
+    pass
 
-    implements(IFolder)
 
-
 def rootFolder():
     f = Folder()
     directlyProvides(f, IRootFolder)

Modified: zope.site/trunk/src/zope/site/interfaces.py
===================================================================
--- zope.site/trunk/src/zope/site/interfaces.py	2012-05-17 22:34:16 UTC (rev 126000)
+++ zope.site/trunk/src/zope/site/interfaces.py	2012-05-17 22:39:35 UTC (rev 126001)
@@ -26,14 +26,13 @@
 class INewLocalSite(zope.interface.Interface):
     """Event: a local site was created
     """
-
     manager = zope.interface.Attribute("The new site manager")
 
+
+ at zope.interface.implementer(INewLocalSite)
 class NewLocalSite(object):
     """Event: a local site was created
     """
-    zope.interface.implements(INewLocalSite)
-    
     def __init__(self, manager):
         self.manager = manager
 

Modified: zope.site/trunk/src/zope/site/site.py
===================================================================
--- zope.site/trunk/src/zope/site/site.py	2012-05-17 22:34:16 UTC (rev 126000)
+++ zope.site/trunk/src/zope/site/site.py	2012-05-17 22:39:35 UTC (rev 126001)
@@ -45,12 +45,13 @@
 from zope.component.hooks import setSite
 
 
+ at zope.interface.implementer(interfaces.ISiteManagementFolder)
 class SiteManagementFolder(BTreeContainer):
-    zope.interface.implements(interfaces.ISiteManagementFolder)
+    pass
 
 
+ at zope.interface.implementer(IDirectoryFactory)
 class SMFolderFactory(object):
-    zope.interface.implements(IDirectoryFactory)
 
     def __init__(self, context):
         self.context = context
@@ -59,13 +60,13 @@
         return SiteManagementFolder()
 
 
+ at zope.interface.implementer(zope.component.interfaces.IPossibleSite)
 class SiteManagerContainer(Contained):
     """Implement access to the site manager (++etc++site).
 
     This is a mix-in that implements the IPossibleSite
     interface; for example, it is used by the Folder implementation.
     """
-    zope.interface.implements(zope.component.interfaces.IPossibleSite)
 
     _sm = None
 
@@ -111,12 +112,12 @@
     ):
     pass
 
+ at zope.interface.implementer(interfaces.ILocalSiteManager)
 class LocalSiteManager(
     BTreeContainer,
     zope.component.persistentregistry.PersistentComponents,
     ):
     """Local Site Manager implementation"""
-    zope.interface.implements(interfaces.ILocalSiteManager)
 
     subs = ()
 

Modified: zope.site/trunk/src/zope/site/site.txt
===================================================================
--- zope.site/trunk/src/zope/site/site.txt	2012-05-17 22:34:16 UTC (rev 126000)
+++ zope.site/trunk/src/zope/site/site.txt	2012-05-17 22:39:35 UTC (rev 126001)
@@ -126,8 +126,8 @@
 
   >>> import persistent
   >>> from zope.container.contained import Contained
-  >>> class MyUtility(persistent.Persistent, Contained):
-  ...     zope.interface.implements(IMyUtility)
+  >>> @zope.interface.implementer(IMyUtility)
+  ... class MyUtility(persistent.Persistent, Contained):
   ...     def __init__(self, title):
   ...         self.title = title
   ...     def __repr__(self):
@@ -165,11 +165,12 @@
   >>> class ISized(zope.interface.Interface):
   ...     pass
 
-  >>> class File(object):
-  ...     zope.interface.implements(IFile)
+  >>> @zope.interface.implementer(IFile)
+  ... class File(object):
+  ...     pass
 
-  >>> class FileSize(object):
-  ...     zope.interface.implements(ISized)
+  >>> @zope.interface.implementer(ISized)
+  ... class FileSize(object):
   ...     def __init__(self, context):
   ...         self.context = context
 

Modified: zope.site/trunk/src/zope/site/tests/test_registration.py
===================================================================
--- zope.site/trunk/src/zope/site/tests/test_registration.py	2012-05-17 22:34:16 UTC (rev 126000)
+++ zope.site/trunk/src/zope/site/tests/test_registration.py	2012-05-17 22:39:35 UTC (rev 126001)
@@ -35,8 +35,9 @@
 # test class for testing data conversion
 class IFoo(interface.Interface):
     pass
+
+ at interface.implementer(IFoo)
 class Foo(persistent.Persistent, zope.container.contained.Contained):
-    interface.implements(IFoo)
     name = ''
     def __init__(self, name=''):
         self.name = name

Modified: zope.site/trunk/src/zope/site/tests/test_site.py
===================================================================
--- zope.site/trunk/src/zope/site/tests/test_site.py	2012-05-17 22:34:16 UTC (rev 126000)
+++ zope.site/trunk/src/zope/site/tests/test_site.py	2012-05-17 22:39:35 UTC (rev 126001)
@@ -28,8 +28,9 @@
 from zope import site
 from zope.site import testing
 
+ at zope.interface.implementer(interfaces.ILocalSiteManager)
 class SiteManagerStub(object):
-    zope.interface.implements(interfaces.ILocalSiteManager)
+    pass
 
 class CustomFolder(folder.Folder):
 



More information about the checkins mailing list