From 98ea383b580b77a2ff8cd81743ad0f0d90574547 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Wed, 4 Nov 2009 05:39:49 +0000 Subject: - The ``bfgshell`` command did not function properly; it was still expecting to be able to call the root factory with a bare ``environ`` rather than a request object. - The ``repoze.bfg.scripting.get_app`` function now expects a ``request`` object as its second argument rather than an ``environ``. --- repoze/bfg/scripting.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'repoze/bfg/scripting.py') diff --git a/repoze/bfg/scripting.py b/repoze/bfg/scripting.py index 5399b7d77..f31db56fa 100644 --- a/repoze/bfg/scripting.py +++ b/repoze/bfg/scripting.py @@ -1,20 +1,21 @@ -def get_root(app, environ=None): +from repoze.bfg.request import FakeRequest + +def get_root(app, request=None): """ Return a tuple composed of ``(root, closer)`` when provided a ``repoze.bfg.router.Router`` instance as the ``app`` argument. The ``root`` returned is the application root object. The ``closer`` returned is a callable (accepting no arguments) that should be called when your scripting application is finished using - the root. If ``environ`` is not None, it is used as the - environment passed to the BFG application root factory. An empty - environ is constructed and passed to the root factory if - ``environ`` is None.""" + the root. If ``request`` is not None, it is used as the request + passed to the BFG application root factory. A faux request is + constructed and passed to the root factory if ``request`` is None.""" + if request is None: + request = FakeRequest({}) registry = app.registry - threadlocals = {'registry':registry, 'request':None} + threadlocals = {'registry':registry, 'request':request} app.threadlocal_manager.push(threadlocals) - if environ is None: - environ = {} - def closer(environ=environ): # keep environ alive via this function default + def closer(request=request): # keep request alive via this function default app.threadlocal_manager.pop() - root = app.root_factory(environ) + root = app.root_factory(request) return root, closer -- cgit v1.2.3