[Checkins] SVN: zope.sqlalchemy/trunk/ * Use ``@implementer`` as a class decorator instead of ``implements()`` at

Chris McDonough cvs-admin at zope.org
Sat May 19 12:46:37 UTC 2012


Log message for revision 126381:
  * Use ``@implementer`` as a class decorator instead of ``implements()`` at
    class scope for compatibility with ``zope.interface`` 4.0.  This requires
    ``zope.interface`` >= 3.6.0.
  
  

Changed:
  U   zope.sqlalchemy/trunk/CHANGES.txt
  U   zope.sqlalchemy/trunk/setup.py
  U   zope.sqlalchemy/trunk/src/zope/sqlalchemy/datamanager.py

-=-
Modified: zope.sqlalchemy/trunk/CHANGES.txt
===================================================================
--- zope.sqlalchemy/trunk/CHANGES.txt	2012-05-18 19:37:38 UTC (rev 126380)
+++ zope.sqlalchemy/trunk/CHANGES.txt	2012-05-19 12:46:33 UTC (rev 126381)
@@ -4,7 +4,9 @@
 0.7.1 (unreleased)
 ------------------
 
-* ...
+* Use ``@implementer`` as a class decorator instead of ``implements()`` at
+  class scope for compatibility with ``zope.interface`` 4.0.  This requires
+  ``zope.interface`` >= 3.6.0.
 
 0.7 (2011-12-06)
 ----------------

Modified: zope.sqlalchemy/trunk/setup.py
===================================================================
--- zope.sqlalchemy/trunk/setup.py	2012-05-18 19:37:38 UTC (rev 126380)
+++ zope.sqlalchemy/trunk/setup.py	2012-05-19 12:46:33 UTC (rev 126381)
@@ -47,7 +47,7 @@
       'setuptools',
       'SQLAlchemy>=0.5.1',
       'transaction',
-      'zope.interface',
+      'zope.interface>=3.6.0',
       ],
     extras_require = extras_require,
     )

Modified: zope.sqlalchemy/trunk/src/zope/sqlalchemy/datamanager.py
===================================================================
--- zope.sqlalchemy/trunk/src/zope/sqlalchemy/datamanager.py	2012-05-18 19:37:38 UTC (rev 126380)
+++ zope.sqlalchemy/trunk/src/zope/sqlalchemy/datamanager.py	2012-05-19 12:46:33 UTC (rev 126381)
@@ -13,7 +13,7 @@
 ##############################################################################
 
 import transaction as zope_transaction
-from zope.interface import implements
+from zope.interface import implementer
 from transaction.interfaces import ISavepointDataManager, IDataManagerSavepoint
 from transaction._transaction import Status as ZopeStatus
 from sqlalchemy.orm.exc import ConcurrentModificationError
@@ -54,14 +54,13 @@
 # The two variants of the DataManager.
 #
 
+ at implementer(ISavepointDataManager)
 class SessionDataManager(object):
     """Integrate a top level sqlalchemy session transaction into a zope transaction
     
     One phase variant.
     """
     
-    implements(ISavepointDataManager)
-
     def __init__(self, session, status, transaction_manager):
         self.transaction_manager = transaction_manager
         self.tx = session.transaction._iterate_parents()[-1]
@@ -165,9 +164,9 @@
         return "sqlalchemy.twophase:%d" % id(self.tx)
 
 
+ at implementer(IDataManagerSavepoint)
 class SessionSavepoint:
-    implements(IDataManagerSavepoint)
-
+    
     def __init__(self, session):
         self.session = session
         self.transaction = session.begin_nested()



More information about the checkins mailing list