repoze.bfg 1.3a9 has been released. It is a minor feature release. It can be installed via:
easy_install -i http://dist.repoze.org/bfg/1.3/simple repoze.bfg Or via PyPI. The docs at http://docs.repoze.org/bfg/1.3 have been updated. The change log follows. 1.3a9 (2010-08-22) ================== Features -------- - The Configurator now accepts a dotted name *string* to a package as a ``package`` constructor argument. The ``package`` argument was previously required to be a package *object* (not a dotted name string). - The ``repoze.bfg.configuration.Configurator.with_package`` method was added. This method returns a new Configurator using the same application registry as the configurator object it is called upon. The new configurator is created afresh with its ``package`` constructor argument set to the value passed to ``with_package``. This feature will make it easier for future BFG versions to allow dotted names as arguments in places where currently only object references are allowed (the work to allow dotted names isntead of object references everywhere has not yet been done, however). - The new ``repoze.bfg.configuration.Configurator.maybe_dotted`` method resolves a Python dotted name string supplied as its ``dotted`` argument to a global Python object. If the value cannot be resolved, a ``repoze.bfg.configuration.ConfigurationError`` is raised. If the value supplied as ``dotted`` is not a string, the value is returned unconditionally without any resolution attempted. - The new ``repoze.bfg.configuration.Configurator.absolute_resource_spec`` method resolves a potentially relative "resource specification" string into an absolute version. If the value supplied as ``relative_spec`` is not a string, the value is returned unconditionally without any resolution attempted. Backwards Incompatibilities --------------------------- - The functions in ``repoze.bfg.renderers`` named ``render`` and ``render_to_response`` introduced in 1.3a6 previously took a set of ``**values`` arguments for the values to be passed to the renderer. This was wrong, as renderers don't need to accept only dictionaries (they can accept any type of object). Now, the value sent to the renderer must be supplied as a positional argument named ``value``. The ``request`` argument is still a keyword argument, however. - The functions in ``repoze.bfg.renderers`` named ``render`` and ``render_to_response`` now accept an additonal keyword argument named ``package``. - The ``get_renderer`` API in ``repoze.bfg.renderers`` now accepts a ``package`` argument. Internal -------- - The ``repoze.bfg.resource.resolve_resource_spec`` function can now accept a package object as its ``pname`` argument instead of just a package name. - The ``_renderer_factory_from_name`` and ``_renderer_from_name`` methods of the Configurator were removed. These were never APIs. - The ``_render``, ``_render_to_response`` and ``_make_response`` functions with ``repoze.bfg.render`` (added in 1.3a6) have been removed. - A new helper class ``repoze.bfg.renderers.RendererHelper`` was added. - The _map_view function of ``repoze.bfg.configuration`` now takes only a renderer_name argument instead of both a ``renderer`` and ``renderer``_name argument. It also takes a ``package`` argument now. - Use ``imp.get_suffixes`` indirection in ``repoze.bfg.path.package_name`` instead of hardcoded ``.py`` ``.pyc`` and ``.pyo`` to use for comparison when attemtping to decide if a directory is a package. - Make tests runnable again under Jython (although they do not all pass currently). _______________________________________________ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev