[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