From 7292d4d6a7d63c55a718dc50943bc9cbf90ae6fe Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Sat, 24 Jan 2009 10:31:20 +0000 Subject: Behavior Changes ---------------- - The ``repoze.bfg.view.render_view_to_response`` API will no longer raise a ValueError if an object returned by a view function it calls does not possess certain attributes (``headerlist``, ``app_iter``, ``status``). This API used to attempt to perform a check using the ``is_response`` function in ``repoze.bfg.view``, and raised a ``ValueError`` if the ``is_response`` check failed. The responsibility is now the caller's to ensure that the return value from a view function is a "real" response. - WSGI environ dicts passed to ``repoze.bfg`` 's Router must now contain a REQUEST_METHOD key/value; if they do not, a KeyError will be raised (speed). Implementation Changes ---------------------- - Various speed micro-tweaks. --- repoze/bfg/traversal.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'repoze/bfg/traversal.py') diff --git a/repoze/bfg/traversal.py b/repoze/bfg/traversal.py index 4c1cb0eb3..95a0e88e7 100644 --- a/repoze/bfg/traversal.py +++ b/repoze/bfg/traversal.py @@ -131,8 +131,12 @@ class ModelGraphTraverser(object): self.root = root self.locatable = ILocation.providedBy(root) + #61089 function calls (61086 primitive calls) in 0.191 CPU seconds def __call__(self, environ, _marker=_marker): - path = environ.get('PATH_INFO', '/') + try: + path = environ['PATH_INFO'] + except KeyError: + path = '/' path = list(split_path(path)) locatable = self.locatable step = self._step -- cgit v1.2.3