From e678e20421296545f14d643a63857b9bdd30ceca Mon Sep 17 00:00:00 2001 From: Michael Merickel <michael@merickel.org> Date: Tue, 24 Apr 2018 03:19:35 +0200 Subject: [PATCH] Merge pull request #3265 from mmerickel/backport-3264-to-1.9-branch --- pyramid/scripting.py | 19 ++++++++++--------- 1 files changed, 10 insertions(+), 9 deletions(-) diff --git a/pyramid/scripting.py b/pyramid/scripting.py index 7607d3e..087b55c 100644 --- a/pyramid/scripting.py +++ b/pyramid/scripting.py @@ -8,7 +8,7 @@ from pyramid.request import Request from pyramid.request import apply_request_extensions -from pyramid.threadlocal import manager as threadlocal_manager +from pyramid.threadlocal import RequestContext from pyramid.traversal import DefaultRootFactory def get_root(app, request=None): @@ -26,10 +26,11 @@ registry = app.registry if request is None: request = _make_request('/', registry) - threadlocals = {'registry':registry, 'request':request} - app.threadlocal_manager.push(threadlocals) - def closer(request=request): # keep request alive via this function default - app.threadlocal_manager.pop() + request.registry = registry + ctx = RequestContext(request) + ctx.begin() + def closer(): + ctx.end() root = app.root_factory(request) return root, closer @@ -87,12 +88,12 @@ # NB: even though _make_request might have already set registry on # request, we reset it in case someone has passed in their own # request. - request.registry = registry - threadlocals = {'registry':registry, 'request':request} - threadlocal_manager.push(threadlocals) + request.registry = registry + ctx = RequestContext(request) + ctx.begin() apply_request_extensions(request) def closer(): - threadlocal_manager.pop() + ctx.end() root_factory = registry.queryUtility(IRootFactory, default=DefaultRootFactory) root = root_factory(request) -- Gitblit v1.9.3