summaryrefslogtreecommitdiff
path: root/repoze
AgeCommit message (Collapse)Author
2009-01-25- The ``repoze.bfg.urldispatch.RoutesRootFactory`` now injects theChris McDonough
``wsgiorg.routing_args`` environment variable into the environ when a route matches. This is a tuple of ((), routing_args) where routing_args is the value that comes back from the routes mapper match (the "match dict"). - The ``repoze.bfg.traversal.RoutesModelTraverser`` class now wants to obtain the ``view_name`` and ``subpath`` from the ``wsgiorgs.routing_args`` environment variable. It falls back to obtaining these from the context for backwards compatibility.
2009-01-25- It is no longer permissible for a security ACE to contain a "nested"Chris McDonough
list of permissions (e.g. ``(Allow, Everyone, ['read', ['view', ['write', 'manage']]])`)`. The list must instead be fully expanded (e.g. ``(Allow, Everyone, ['read', 'view', 'write', 'manage])``). This feature was never documented, and was never an API, so it's not a backwards incompatibility.
2009-01-25Minor speed tweaks.Chris McDonough
2009-01-25- Get rid of ``repoze.bfg.security.ACLAuthorizer``: theChris McDonough
``ACLSecurityPolicy`` now does what it did inline. - Get rid of ``repoze.bfg.interfaces.NoAuthorizationInformation`` exception: it was used only by ``ACLAuthorizer``.
2009-01-25Speed tweak.Chris McDonough
2009-01-25- It is no longer permissible to pass a "nested" list of principals toChris McDonough
``repoze.bfg.ACLAuthorizer.permits`` (e.g. ['fred', ['larry', 'bob']). The principals list must be fully expanded. This feature was never documented, and was never an API, so it's not a backwards incompatibility.
2009-01-25Optimize flatten a bit.Chris McDonough
2009-01-25Do an end-run around webob.Request.__setitem__ until it gets sped up.Chris McDonough
2009-01-25Test coverage.Chris McDonough
2009-01-25- You can now override the NotFound and Unauthorized responses thatChris McDonough
:mod:`repoze.bfg` generates when a view cannot be found or cannot be invoked due to lack of permission. See the "ZCML Hooks" chapter in the docs for more information. - Use a homegrown Unauthorized error instead of ``webob.exc.Unauthorized`` (the latter is slow). - Various speed micro-tweaks.
2009-01-25Disuse .get (speed).Chris McDonough
2009-01-24- Use a homegrown NotFound error instead of ``webob.HTTPNotFound``Chris McDonough
(the latter is slow).
2009-01-24Behavior ChangesChris McDonough
---------------- - 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.
2009-01-24Just kidding. That was silly.Chris McDonough
2009-01-24Localize lookup.Chris McDonough
2009-01-24- ``repoze.bfg.testing.DummyModel`` did not have a ``get`` method;Chris McDonough
it now does.
2009-01-22- ``repoze.bfg.traversal.split_path`` now also handles decodingChris McDonough
path segments to unicode (for speed, because its results are LRU cached). - ``repoze.bfg.traversal.step`` was made a method of the ModelGraphTraverser.
2009-01-22- The ``unicode_path_segments`` configuration variable and theChris McDonough
``BFG_UNICODE_PATH_SEGMENTS`` configuration variable have been removed. Path segments are now always passed to model ``__getitem__`` methods as unicode. "True" has been the default for this setting since 0.5.4, but changing this configuration setting to false allowed you to go back to passing raw path element strings to model ``__getitem__`` methods. This services a speed goal (we get about +80 req/s by removing the check), and it's clearer just to always expect unicode path segments in model ``__getitem__`` methods.
2009-01-22Coverage.Chris McDonough
2009-01-22Coverage.Chris McDonough
2009-01-22Make traversal's ``split_path`` use an LRU decorator for speed; otherChris McDonough
minor speed tweaks.
2009-01-22- ``repoze.bfg.lru`` implements an LRU cache class and a decorator forChris McDonough
internal use.
2009-01-22- The Allowed and Denied classes in ``repoze.bfg.security`` now areChris McDonough
lazier about constructing the representation of a reason message for speed; ``repoze.bfg.view_execution_permitted`` takes advantage of this. - The ``is_response`` check was sped up by about half at the expense of making its code slightly uglier.
2009-01-22 If no subscribers are registered via ``registerHandler`` orChris McDonough
``registerSubscriptionAdapter``, ``notify`` is a noop for speed.
2009-01-20- Tease out an extra 4% performance boost by changing the Router;Chris McDonough
instead of using imported ZCA APIs, use the same APIs directly against the registry that is an attribute of the Router. As a result, the registry used by BFG is now a subclass of ``zope.component.registry.Components`` (defined as ``repoze.bfg.registry.Registry``); it has a ``notify`` method.
2009-01-20Warn against using in user code.Chris McDonough
2009-01-20# We use 'precooked' Request subclasses that correspond to HTTPChris McDonough
# request methods within ``router.py`` when constructing a request # object rather than using ``alsoProvides`` to attach the proper # interface to an unsubclassed webob.Request. This pattern is purely # an optimization (e.g. preventing calls to ``alsoProvides`` means the # difference between 590 r/s and 690 r/s on a MacBook 2GHz).
2009-01-20Make tests pass on laguna.Chris McDonough
2009-01-19view_name attr.Chris McDonough
2009-01-18context_factory -> factoryChris McDonough
context_interfaces -> provides
2009-01-18Merge "routesmapper branch" to trunk.Chris McDonough
2009-01-18grok -> scan to prevent confusion.Chris McDonough
2009-01-17Security policy documentation.Chris McDonough
2009-01-17- The ``bfg_starter`` and ``bfg_zodb`` "paster create" templates nowChris McDonough
contain images and CSS which are displayed when the default page is displayed after initial project generation.
2009-01-17- Allow the ``repoze.bfg.view.static`` helper to be passed a relativeChris McDonough
``root_path`` name; it will be considered relative to the file in which it was called.
2009-01-16- Add a section on "Using BFG Security With URL Dispatch" into theChris McDonough
urldispatch chapter of the documentation. Clean up "BFG" vernacular (replace with repoze.bfg).
2009-01-16Do alsoProvides instead of directlyProvides in case the request factoryChris McDonough
uses directlyProvides.
2009-01-16Remove now-useless class-level defaults.Chris McDonough
2009-01-16- The ``repoze.bfg.view.static`` helper now usesChris McDonough
``webob.Request.get_response`` to do its work rather than relying on howgrown WSGI code.
2009-01-16FeaturesChris McDonough
-------- - The functionality of ``repoze.bfg.convention`` has been merged into the core. Applications which make use of ``repoze.bfg.convention`` will continue to work indefinitely, but it is recommended that apps stop depending upon it. To do so, substitute imports of ``repoze.bfg.convention.bfg_view`` with imports of ``repoze.bfg.view.bfg_view``, and change the stanza in ZCML from ``<convention package=".">`` to ``<grok package=".">``. As a result of the merge, bfg has grown a new dependency: ``martian``. - View functions which use the pushpage decorator are now pickleable (meaning their use won't prevent a ``configure.zcml.cache`` file from being written to disk). Implementation Changes ---------------------- - The ``wsgiapp`` decorator now uses ``webob.Request.get_response`` to do its work rather than relying on howgrown WSGI code.
2009-01-15Add dead chickens to suppress spurious coverage output.Chris McDonough
2009-01-15Get rid of PlacelessSetup.Chris McDonough
2009-01-15Get rid of _getFUT.Chris McDonough
2009-01-15Get rid of _getFUT.Chris McDonough
2009-01-15Get rid of _getFUT.Chris McDonough
2009-01-15Get rid of _getFUT.Chris McDonough
2009-01-15Remove more unused stuff.Chris McDonough
2009-01-15Clean up unused stuff.Chris McDonough
2009-01-15Unfix interfaces (thanks Tres).Chris McDonough
2009-01-15Fix interfaces.Chris McDonough