summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-09-23- Speed up ``repoze.bfg.traversal.model_path``.Chris McDonough
- Speed up ``repoze.bfg.traversal.model_path_tuple`` slightly. - Speed up ``repoze.bfg.traversal.traverse`` slightly. - In 0.8a7, the return value expected from an object implementing ``ITraverserFactory`` was changed from a sequence of values to a dictionary containing the keys ``context``, ``view_name``, ``subpath``, ``traversed``, ``virtual_root``, ``virtual_root_path``, and ``root``. Until now, old-style traversers which returned a sequence have continued to work but have generated a deprecation warning. In this release, traversers which return a sequence instead of a dictionary will no longer work.
2009-09-23FeaturesChris McDonough
-------- - Speed up ``repoze.bfg.encode.urlencode`` (nee' ``repoze.bfg.url.urlencode``) slightly. - Speed up ``repoze.bfg.traversal.model_path`` and ``repoze.bfg.traversal.model_path_tuple`` slightly. Internal -------- - Move ``repoze.bfg.traversal._url_quote`` into ``repoze.bfg.encode`` as ``url_quote``. Backwards Incompatibilities --------------------------- - We previously had a Unicode-aware wrapper for the ``urllib.urlencode`` function named ``repoze.bfg.url.urlencode`` which delegated to the stdlib function, but which marshalled all unicode values to utf-8 strings before calling the stdlib version. A newer replacement now lives in ``repoze.bfg.encode`` (old imports will still work). The replacement does not delegate to the stdlib. The replacement diverges from the stdlib implementation and the previous ``repoze.bfg.url`` url implementation inasmuch as its ``doseq`` argument is a decoy: it always behaves in the ``doseq=True`` way (which is the only sane behavior) for speed purposes. The old import location (``repoze.bfg.url.urlencode``) still functions and has not been deprecated.
2009-09-23- Speed up ``repoze.bfg.location.lineage`` slightly.Chris McDonough
2009-09-23Fix spelling.Chris McDonough
2009-09-23Prep for 1.1a4.Chris McDonough
2009-09-23Make sure we have multiview predicate dispatch ordering right.Chris McDonough
2009-09-23- On 64-bit Linux systems, views that were members of a multiviewChris McDonough
(orderings of views with predicates) were not evaluated in the proper order. Symptom: in a configuration that had two views with the same name but one with a ``request_method=POST`` predicate and one without, the one without the predicate would be called unconditionally (even if the request was a POST request). Thanks much to Sebastien Douche for providing the buildbots that pointed this out.
2009-09-22Use dictionary instead of DummySettings.Chris McDonough
2009-09-22Minor readability changes.Chris McDonough
2009-09-22__is_bfg_view__ -> __bfg_view_settings__Chris McDonough
2009-09-22Fix buildbot failures by sorting view actions.Chris McDonough
2009-09-21This can also raise ValueError.Chris McDonough
2009-09-21Minor speed tweak and coverage.Chris McDonough
2009-09-21Fix docs after updates.Chris McDonough
2009-09-20Minor speed tweaks.Chris McDonough
2009-09-20Remove comments.Chris McDonough
2009-09-20Make instance grokking work again.Chris McDonough
2009-09-20- The way ``bfg_view`` declarations are scanned for has been modified.Chris McDonough
This should have no external effects. - An object implementing the ``IRenderer`` interface (and ``ITemplateRenderer`, which is a subclass of ``IRenderer``) must now accept an extra ``system`` argument in its ``__call__`` method implementation. Values computed by the system (as opposed to by the view) are passed by the system in the ``system`` parameter, which will always be a dictionary. Keys in the dictionary include: ``view`` (the view object that returned the value), ``renderer_name`` (the template name or simple name of the renderer), ``context`` (the context object passed to the view), and ``request`` (the request object passed to the view). Previously only ITemplateRenderers received system arguments as elements inside the main ``value`` dictionary.
2009-09-20- Speed: do not register an ITraverserFactory in configure.zcml;Chris McDonough
instead rely on queryAdapter and a manual default to ModelGraphTraverser. - Speed: do not register an IContextURL in configure.zcml; instead rely on queryAdapter and a manual default to TraversalContextURL. - General speed microimprovements for helloworld benchmark: replace try/excepts with statements which use 'in' keyword.
2009-09-19(no commit message)Chris McDonough
2009-09-19Typos.Chris McDonough
2009-09-19- Added a tutorial which explains how to use ``repoze.session``Chris McDonough
(ZODB-based sessions) in a ZODB-based repoze.bfg app.
2009-09-19- Added a tutorial which explains how to add ZEO to a ZODB-basedChris McDonough
``repoze.bfg`` application.
2009-09-18Accept a traverser rather than a registry in _traverse.Chris McDonough
2009-09-18Cleanup.Chris McDonough
2009-09-18Compulsive import reorderings.Chris McDonough
2009-09-18Centralize resource_spec code.Chris McDonough
2009-09-18Rendering.Chris McDonough
2009-09-18Add a mod_wsgi configuration tutorial.Chris McDonough
2009-09-17Move view-related helper functions from zcml.py to view.py.Chris McDonough
2009-09-17- Add a ``repoze.bfg.url.static_url`` API which is capable ofChris McDonough
generating URLs to static resources defined by the ``<static>`` ZCML directive. See the "Views" narrative chapter's section titled "Generating Static Resource URLs" for more information.
2009-09-17- Add a ``string`` renderer. This renderer converts a non-ResponseChris McDonough
return value of any view callble into a string. It is documented in the "Views" narrative chapter.
2009-09-16- Give the ``route`` ZCML directive the ``view_attr`` andChris McDonough
``view_renderer`` parameters (bring up to speed with 1.1a3 features). These can also be spelled as ``attr`` and ``renderer``.
2009-09-16Excise "page" vernacular.Chris McDonough
2009-09-16Prep for 1.1a3.Chris McDonough
2009-09-16Review and edit views chapter.Chris McDonough
2009-09-16- The ``repoze.bfg.testing.registerDummyRenderer`` API has beenChris McDonough
deprecated in favor of ``repoze.bfg.testing.registerTemplateRenderer``. A deprecation warning is *not* issued at import time for the former name; it will exist "forever". - The ``repoze.bfg.templating.renderer_from_cache`` function has been moved to ``repoze.bfg.renderer.template_renderer_factory``. This was never an API, but code in the wild was spotted that used it. A deprecation warning is issued at import time for the former. - Better error message when a wrapper view returns None.
2009-09-16Fix bug in dummy renderer "implementation" method.Chris McDonough
Provide a b/c shim for the "templating" module (code in the wild imports).
2009-09-16Coverage.Chris McDonough
2009-09-16Test name.Chris McDonough
2009-09-16Had a stray .pyc sitting around.Chris McDonough
2009-09-16(no commit message)Chris McDonough
2009-09-16Checkpoint. Not 100% test coverage.Chris McDonough
2009-09-14- The ``view`` attribute of the ``view`` ZCML directive is no longerChris McDonough
required if the ZCML directive has a ``template`` attribute.
2009-09-14Provide "wrapped_view" as well in the outer wrapper request.Chris McDonough
2009-09-14Provide wrapper behavior to bfg_view decorator.Chris McDonough
2009-09-14- A ZCML ``view`` directive (and the associated ``bfg_view``Chris McDonough
decorator) can now accept a "wrapper" value. If a "wrapper" value is supplied, it is the value of a separate view's *name* attribute. When a view with a ``wrapper`` attribute is rendered, the "inner" view is first rendered normally. Its body is then attached to the request as "wrapped_body", and then a wrapper view name is looked up and rendered (using ``repoze.bfg.render_view_to_response``), passed the request and the context. The wrapper view is assumed to do something sensible with ``request.wrapped_body``, usually inserting its structure into some other rendered template. This feature makes it possible to specify (potentially nested) "owrap" relationships between views using only ZCML or decorators (as opposed always using ZPT METAL and analogues to wrap view renderings in outer wrappers).
2009-09-14Prep for 1.1a2.Chris McDonough
2009-09-14Page->view.Chris McDonough
2009-09-14Renderings.Chris McDonough