summaryrefslogtreecommitdiff
path: root/docs/tutorials/bfgwiki2/src/authorization
diff options
context:
space:
mode:
Diffstat (limited to 'docs/tutorials/bfgwiki2/src/authorization')
-rw-r--r--docs/tutorials/bfgwiki2/src/authorization/tutorial/run.py18
1 files changed, 9 insertions, 9 deletions
diff --git a/docs/tutorials/bfgwiki2/src/authorization/tutorial/run.py b/docs/tutorials/bfgwiki2/src/authorization/tutorial/run.py
index 2506ca939..2e38bd29b 100644
--- a/docs/tutorials/bfgwiki2/src/authorization/tutorial/run.py
+++ b/docs/tutorials/bfgwiki2/src/authorization/tutorial/run.py
@@ -1,18 +1,18 @@
+import transaction
+
from repoze.bfg.configuration import Configurator
+from repoze.tm import after_end
+from repoze.tm import isActive
from tutorial.models import DBSession
from tutorial.models import initialize_sql
from tutorial.models import RootFactory
-class Cleanup:
- def __init__(self, cleaner):
- self.cleaner = cleaner
- def __del__(self):
- self.cleaner()
-
def handle_teardown(event):
environ = event.request.environ
- environ['tutorial.sasession'] = Cleanup(DBSession.remove)
+ if isActive(environ):
+ t = transaction.get()
+ after_end.register(DBSession.remove, t)
def app(global_config, **settings):
""" This function returns a WSGI application.
@@ -22,8 +22,8 @@ def app(global_config, **settings):
"""
db_string = settings.get('db_string')
if db_string is None:
- raise ValueError(
- "No 'db_string' value in application configuration.")
+ raise ValueError("No 'db_string' value in application "
+ "configuration.")
initialize_sql(db_string)
config = Configurator(settings=settings, root_factory=RootFactory)
config.begin()