summaryrefslogtreecommitdiff
path: root/repoze
diff options
context:
space:
mode:
Diffstat (limited to 'repoze')
-rw-r--r--repoze/bfg/paster_templates/alchemy/+package+/run.py_tmpl14
-rw-r--r--repoze/bfg/paster_templates/routesalchemy/+package+/run.py_tmpl14
2 files changed, 14 insertions, 14 deletions
diff --git a/repoze/bfg/paster_templates/alchemy/+package+/run.py_tmpl b/repoze/bfg/paster_templates/alchemy/+package+/run.py_tmpl
index c290431c0..6ce86371b 100644
--- a/repoze/bfg/paster_templates/alchemy/+package+/run.py_tmpl
+++ b/repoze/bfg/paster_templates/alchemy/+package+/run.py_tmpl
@@ -1,17 +1,17 @@
+import transaction
+
from repoze.bfg.configuration import Configurator
+from repoze.tm import after_end
+from repoze.tm import isActive
from {{package}}.models import appmaker
from {{package}}.models import DBSession
-class Cleanup:
- def __init__(self, cleaner):
- self.cleaner = cleaner
- def __del__(self):
- self.cleaner()
-
def handle_teardown(event):
environ = event.request.environ
- environ['usermanager.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.
diff --git a/repoze/bfg/paster_templates/routesalchemy/+package+/run.py_tmpl b/repoze/bfg/paster_templates/routesalchemy/+package+/run.py_tmpl
index 810040297..c4d37238a 100644
--- a/repoze/bfg/paster_templates/routesalchemy/+package+/run.py_tmpl
+++ b/repoze/bfg/paster_templates/routesalchemy/+package+/run.py_tmpl
@@ -1,17 +1,17 @@
+import transaction
+
from repoze.bfg.configuration import Configurator
+from repoze.tm import after_end
+from repoze.tm import isActive
from {{package}}.models import DBSession
from {{package}}.models import initialize_sql
-class Cleanup:
- def __init__(self, cleaner):
- self.cleaner = cleaner
- def __del__(self):
- self.cleaner()
-
def handle_teardown(event):
environ = event.request.environ
- environ['{{package}}.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.