[Zodb-checkins] CVS: Zope3/src/transaction - util.py:1.1.2.1

Jim Fulton jim at zope.com
Fri Jan 23 13:25:07 EST 2004


Update of /cvs-repository/Zope3/src/transaction
In directory cvs.zope.org:/tmp/cvs-serv9157/src/transaction

Added Files:
      Tag: zope3-zodb3-devel-branch
	util.py 
Log Message:
Moved the NoSavepointSupportRollback class ro transaction,
as it's needed by any data manager that doesn't support
savepoint rollback.


=== Added File Zope3/src/transaction/util.py ===
##############################################################################
#
# Copyright (c) 2004 Zope Corporation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.0 (ZPL).  A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
"""Utility classes or functions

$Id: util.py,v 1.1.2.1 2004/01/23 18:25:04 jim Exp $
"""

import zope.interface
from transaction.interfaces import IRollback

class NoSavepointSupportRollback:
    """Rollback for data managers that don't support savepoints

    >>> class DataManager:
    ...     def savepoint(self, txn):
    ...         return NoSavepointSupportRollback(self)
    >>> rb = DataManager().savepoint('some transaction')
    >>> rb.rollback()
    Traceback (most recent call last):
    ...
    NotImplementedError: """ \
           """DataManager data managers do not support """ \
           """savepoints (aka subtransactions
    
    """

    zope.interface.implements(IRollback)

    def __init__(self, dm):
        self.dm = dm.__class__.__name__

    def rollback(self):
        raise NotImplementedError(
            "%s data managers do not support savepoints (aka subtransactions"
            % self.dm)




More information about the Zodb-checkins mailing list