bidict/_base.py
def _update_with_rollback(self, on_dup, *args, **kw):
        """Update, rolling back on failure."""
        writelog = []
        appendlog = writelog.append
        dedup_item = self._dedup_item
        write_item = self._write_item
        for (key, val) in _iteritems_args_kw(*args, **kw):
            try:
                dedup_result = dedup_item(key, val, on_dup)
            except DuplicationError:
                undo_write = self._undo_write
                for dedup_result, write_result in reversed(writelog):
                    undo_write(dedup_result, write_result)
                raise
            if dedup_result is not _NOOP:
                write_result = write_item(key, val, dedup_result)
                appendlog((dedup_result, write_result))
def _update_with_rollback(self, on_dup, *args, **kw):
        writelog = []
        appendlog = writelog.append
        dedup_item = self._dedup_item
        write_item = self._write_item
        for (key, val) in _iteritems_args_kw(*args, **kw):
            try:
                dedup_result = dedup_item(key, val, on_dup)
            except DuplicationError:
                undo_write = self._undo_write
                for dedup_result, write_result in reversed(writelog):
                    undo_write(dedup_result, write_result)
                raise
            if dedup_result is not _NOOP:
                write_result = write_item(key, val, dedup_result)
                appendlog((dedup_result, write_result))
def _update_with_rollback ( self , on_dup , * args , * * kw ) : writelog = [ ] appendlog = writelog . append dedup_item = self . _dedup_item write_item = self . _write_item for ( key , val ) in _iteritems_args_kw ( * args , * * kw ) : try : dedup_result = dedup_item ( key , val , on_dup ) except DuplicationError : undo_write = self . _undo_write for dedup_result , write_result in reversed ( writelog ) : undo_write ( dedup_result , write_result ) raise if dedup_result is not _NOOP : write_result = write_item ( key , val , dedup_result ) appendlog ( ( dedup_result , write_result ) )
Update, rolling back on failure.
Update rolling back on failure .