summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBarry Warsaw2012-04-21 18:09:39 -0400
committerBarry Warsaw2012-04-21 18:09:39 -0400
commit7da6bb2bdba138877e53a70d224b253af14c65bc (patch)
treeb50034ee74a1bf99f4b7c3772a62bda51ee7d482 /src
parent7abcd4faa1553fb012020b6204fb8b6208fa5bf2 (diff)
parente95912521dddc8aab08757c3734df357b3985e73 (diff)
downloadmailman-7da6bb2bdba138877e53a70d224b253af14c65bc.tar.gz
mailman-7da6bb2bdba138877e53a70d224b253af14c65bc.tar.zst
mailman-7da6bb2bdba138877e53a70d224b253af14c65bc.zip
Diffstat (limited to 'src')
-rw-r--r--src/mailman/database/transaction.py6
-rw-r--r--src/mailman/rest/wsgiapp.py13
-rw-r--r--src/mailman/runners/lmtp.py4
3 files changed, 9 insertions, 14 deletions
diff --git a/src/mailman/database/transaction.py b/src/mailman/database/transaction.py
index 47e58d3e2..7a6ba00af 100644
--- a/src/mailman/database/transaction.py
+++ b/src/mailman/database/transaction.py
@@ -17,11 +17,11 @@
"""Transactional support."""
-from __future__ import absolute_import, unicode_literals
+from __future__ import absolute_import, print_function, unicode_literals
__metaclass__ = type
__all__ = [
- 'txn',
+ 'transactional',
]
@@ -29,7 +29,7 @@ from mailman.config import config
-class txn(object):
+class transactional:
"""Decorator for transactional support.
When the function this decorator wraps exits cleanly, the current
diff --git a/src/mailman/rest/wsgiapp.py b/src/mailman/rest/wsgiapp.py
index 36e8ae5ac..a735d2012 100644
--- a/src/mailman/rest/wsgiapp.py
+++ b/src/mailman/rest/wsgiapp.py
@@ -33,6 +33,7 @@ from wsgiref.simple_server import WSGIRequestHandler
from wsgiref.simple_server import make_server as wsgi_server
from mailman.config import config
+from mailman.database.transaction import transactional
from mailman.rest.root import Root
@@ -51,17 +52,11 @@ class AdminWebServiceWSGIRequestHandler(WSGIRequestHandler):
class AdminWebServiceApplication(RestishApp):
"""Connect the restish WSGI application to Mailman's database."""
+ @transactional
def __call__(self, environ, start_response):
"""See `RestishApp`."""
- try:
- response = super(AdminWebServiceApplication, self).__call__(
- environ, start_response)
- except:
- config.db.abort()
- raise
- else:
- config.db.commit()
- return response
+ return super(AdminWebServiceApplication, self).__call__(
+ environ, start_response)
diff --git a/src/mailman/runners/lmtp.py b/src/mailman/runners/lmtp.py
index 45fa5a783..249ab94c1 100644
--- a/src/mailman/runners/lmtp.py
+++ b/src/mailman/runners/lmtp.py
@@ -41,7 +41,7 @@ from zope.component import getUtility
from mailman.config import config
from mailman.core.runner import Runner
-from mailman.database.transaction import txn
+from mailman.database.transaction import transactional
from mailman.email.message import Message
from mailman.interfaces.listmanager import IListManager
from mailman.utilities.datetime import now
@@ -154,7 +154,7 @@ class LMTPRunner(Runner, smtpd.SMTPServer):
Channel(self, conn, addr)
slog.debug('LMTP accept from %s', addr)
- @txn
+ @transactional
def process_message(self, peer, mailfrom, rcpttos, data):
try:
# Refresh the list of list names every time we process a message