[Checkins] SVN: transaction/trunk/ Dropp use of Python3-impatible 'zope.interface.implements' class advisor

Tres Seaver cvs-admin at zope.org
Wed May 16 21:13:38 UTC 2012


Log message for revision 125950:
  Dropp use of Python3-impatible 'zope.interface.implements' class advisor
  
  Instead, use (only) the 'zope.interface.implementer' class decorator.
  

Changed:
  U   transaction/trunk/CHANGES.txt
  U   transaction/trunk/transaction/_transaction.py
  U   transaction/trunk/transaction/tests/doom.txt
  U   transaction/trunk/transaction/tests/savepointsample.py

-=-
Modified: transaction/trunk/CHANGES.txt
===================================================================
--- transaction/trunk/CHANGES.txt	2012-05-16 21:13:31 UTC (rev 125949)
+++ transaction/trunk/CHANGES.txt	2012-05-16 21:13:35 UTC (rev 125950)
@@ -4,6 +4,9 @@
 1.2.1 (unreleased)
 ------------------
 
+- Dropped use of Python3-impatible ``zope.interface.implements`` class
+  advisor in favor of ``zope.interface.implementer`` class decorator.
+
 - Added support for continuous integration using ``tox`` and ``jenkins``.
 
 - Added ``setup.py docs`` alias (installs ``Sphinx`` and dependencies).

Modified: transaction/trunk/transaction/_transaction.py
===================================================================
--- transaction/trunk/transaction/_transaction.py	2012-05-16 21:13:31 UTC (rev 125949)
+++ transaction/trunk/transaction/_transaction.py	2012-05-16 21:13:35 UTC (rev 125950)
@@ -103,7 +103,7 @@
 import weakref
 import traceback
 
-from zope import interface
+from zope.interface import implementer
 
 from transaction.compat import reraise
 from transaction.compat import get_thread_ident
@@ -134,10 +134,10 @@
     # to commit or join this transaction will raise TransactionFailedError.
     COMMITFAILED = "Commit failed"
 
+ at implementer(interfaces.ITransaction,
+             interfaces.ITransactionDeprecated)
 class Transaction(object):
 
-    interface.implements(interfaces.ITransaction,
-                         interfaces.ITransactionDeprecated)
 
 
     # Assign an index to each savepoint so we can invalidate later savepoints
@@ -672,13 +672,13 @@
     def sortKey(self):
         return self._datamanager.sortKey()
 
+ at implementer(interfaces.ISavepoint)
 class Savepoint:
     """Transaction savepoint.
 
     Transaction savepoints coordinate savepoints for data managers
     participating in a transaction.
     """
-    interface.implements(interfaces.ISavepoint)
 
     valid = property(lambda self: self.transaction is not None)
 

Modified: transaction/trunk/transaction/tests/doom.txt
===================================================================
--- transaction/trunk/transaction/tests/doom.txt	2012-05-16 21:13:31 UTC (rev 125949)
+++ transaction/trunk/transaction/tests/doom.txt	2012-05-16 21:13:35 UTC (rev 125950)
@@ -26,9 +26,9 @@
 To see how it works we first need to create a stub data manager:
 
     >>> from transaction.interfaces import IDataManager
-    >>> from zope.interface import implements
-    >>> class DataManager:
-    ...     implements(IDataManager)
+    >>> from zope.interface import implementer
+    >>> @implementer(IDataManager)
+    ... class DataManager:
     ...     def __init__(self):
     ...         self.attr_counter = {}
     ...     def __getattr__(self, name):

Modified: transaction/trunk/transaction/tests/savepointsample.py
===================================================================
--- transaction/trunk/transaction/tests/savepointsample.py	2012-05-16 21:13:31 UTC (rev 125949)
+++ transaction/trunk/transaction/tests/savepointsample.py	2012-05-16 21:13:35 UTC (rev 125950)
@@ -19,18 +19,16 @@
 See savepoint.txt in the transaction package.
 """
 
-from zope import interface
+from zope.interface import implementer
 import transaction.interfaces
 
- at interface.implementer(transaction.interfaces.IDataManager)
+ at implementer(transaction.interfaces.IDataManager)
 class SampleDataManager(object):
     """Sample implementation of data manager that doesn't support savepoints
 
     This data manager stores named simple values, like strings and numbers.
     """
 
-    interface.implements(transaction.interfaces.IDataManager)
-
     def __init__(self, transaction_manager=None):
         if transaction_manager is None:
             # Use the thread-local transaction manager if none is provided:
@@ -162,15 +160,13 @@
     #
     #######################################################################
 
- at interface.implementer(transaction.interfaces.ISavepointDataManager)
+ at implementer(transaction.interfaces.ISavepointDataManager)
 class SampleSavepointDataManager(SampleDataManager):
     """Sample implementation of a savepoint-supporting data manager
 
     This extends the basic data manager with savepoint support.
     """
 
-    interface.implements(transaction.interfaces.ISavepointDataManager)
-
     def savepoint(self):
         # When we create the savepoint, we save the existing database state.
         return SampleSavepoint(self, self.uncommitted.copy())
@@ -184,11 +180,9 @@
         # savepoint was done again.  IOW, copy() is necessary.
         self.uncommitted = savepoint.data.copy()
 
- at interface.implementer(transaction.interfaces.IDataManagerSavepoint)
+ at implementer(transaction.interfaces.IDataManagerSavepoint)
 class SampleSavepoint:
 
-    interface.implements(transaction.interfaces.IDataManagerSavepoint)
-
     def __init__(self, data_manager, data):
         self.data_manager = data_manager
         self.data = data



More information about the checkins mailing list