repoze.bfg 1.3a9 has been released.  It is a minor feature release.

It can be installed via:

  easy_install -i repoze.bfg

Or via PyPI.

The docs at have been updated.

The change log follows.

1.3a9 (2010-08-22)


- 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

- 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
  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.


- 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

- A new helper class ``repoze.bfg.renderers.RendererHelper`` was

- 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

- 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

Reply via email to