summaryrefslogtreecommitdiff
path: root/lib/python2.7/site-packages/django/middleware/transaction.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/django/middleware/transaction.py')
-rw-r--r--lib/python2.7/site-packages/django/middleware/transaction.py56
1 files changed, 0 insertions, 56 deletions
diff --git a/lib/python2.7/site-packages/django/middleware/transaction.py b/lib/python2.7/site-packages/django/middleware/transaction.py
deleted file mode 100644
index 95cc9a2..0000000
--- a/lib/python2.7/site-packages/django/middleware/transaction.py
+++ /dev/null
@@ -1,56 +0,0 @@
-import warnings
-
-from django.core.exceptions import MiddlewareNotUsed
-from django.db import connection, transaction
-
-class TransactionMiddleware(object):
- """
- Transaction middleware. If this is enabled, each view function will be run
- with commit_on_response activated - that way a save() doesn't do a direct
- commit, the commit is done when a successful response is created. If an
- exception happens, the database is rolled back.
- """
-
- def __init__(self):
- warnings.warn(
- "TransactionMiddleware is deprecated in favor of ATOMIC_REQUESTS.",
- PendingDeprecationWarning, stacklevel=2)
- if connection.settings_dict['ATOMIC_REQUESTS']:
- raise MiddlewareNotUsed
-
- def process_request(self, request):
- """Enters transaction management"""
- transaction.enter_transaction_management()
-
- def process_exception(self, request, exception):
- """Rolls back the database and leaves transaction management"""
- if transaction.is_dirty():
- # This rollback might fail because of network failure for example.
- # If rollback isn't possible it is impossible to clean the
- # connection's state. So leave the connection in dirty state and
- # let request_finished signal deal with cleaning the connection.
- transaction.rollback()
- transaction.leave_transaction_management()
-
- def process_response(self, request, response):
- """Commits and leaves transaction management."""
- if not transaction.get_autocommit():
- if transaction.is_dirty():
- # Note: it is possible that the commit fails. If the reason is
- # closed connection or some similar reason, then there is
- # little hope to proceed nicely. However, in some cases (
- # deferred foreign key checks for exampl) it is still possible
- # to rollback().
- try:
- transaction.commit()
- except Exception:
- # If the rollback fails, the transaction state will be
- # messed up. It doesn't matter, the connection will be set
- # to clean state after the request finishes. And, we can't
- # clean the state here properly even if we wanted to, the
- # connection is in transaction but we can't rollback...
- transaction.rollback()
- transaction.leave_transaction_management()
- raise
- transaction.leave_transaction_management()
- return response