Skip to main content

repoze.bfg.chameleon_genshi

Bindings for Chameleon Genshi-style templating support under repoze.bfg. See the Chameleon website for chameleon.genshi templating language details.

The API for use of repoze.bfg.chameleon_genshi under BFG is identical to the one used for chameleon.zpt` templates as documented in the “Templating” chapter of the BFG docs. Only the templating language itself (Genshi vs. ZPT) and import locations (r.b.chameleon_genshi vs. r.b.chameleon_zpt) differ.

An example:

from repoze.bfg.chameleon_genshi import render_template_to_response
render_template_to_response('relative/path/to/template')

relative/path/to/template is relative to the package directory in which the above code is defined.

See also the render_template and get_template APIs exposed by the repoze.bfg.chameleon_genshi package, which serve the same purpose as their brethren in repoze.bfg.chameleon_zpt.

Genshi templates can also be used as a BFG “renderer” when you use repoze.bfg.chameleon_genshi. The easiest way to allow for this is to use the following ZCML in your application’s configure.zcml:

<include package="repoze.bfg.chameleon_genshi"/>

Once your application has been set up to process this ZCML, your application can point at chameleon.genshi templates that have the .genshi file extension from within @bfg_view directives or ZCML view directives in your application. For example:

@bfg_view(renderer='templates/foo.genshi')
def someview(request):
    ....

Or:

<view
  renderer="templates/foo.genshi"
  view=".views.someview"/>

If you’d rather not use a .genshi extension for your chameleon.genshi templates, or if you’d rather not use ZCML to do registration, you can explicitly register a renderer using the add_renderer method of a “configurator”. To do so, in the run.py of your BFG application, in the function called at startup, which uses a repoze.bfg.configuration.Configurator as config:

from repoze.bfg.chameleon_genshi import renderer_factory
config.add_renderer('.cgenshi', renderer_factory)

Once you’ve registered .cgenshi as a renderer in a view configuration, you can do the following:

@bfg_view(renderer='templates/foo.cgenshi')
def someview(request):
    ....

Misc

By default, Chameleon’s Genshi XIncludes support cannot resolve repoze.bfg “resource specifications” (e.g. my_package:foo/bar.genshi). In order to activate an XIncludes class that understands repoze.bfg resource specifications, call the repoze.bfg.chameleon_genshi.XIncludes.activate method before using any templates (e.g., at process startup time):

from repoze.bfg.chameleon_genshi import XIncludes
XIncludes.activate()

This will replace the XIncludes helper class for all consumers of Chameleon in the process.

repoze.bfg.chameleon_genshi

0.3 (2010-07-09)

  • By default, Chameleon’s Genshi XIncludes support cannot resolve repoze.bfg “resource specifications” (e.g. my_package:foo/bar.genshi). In order to activate an XIncludes class that understands repoze.bfg resource specifications, call the repoze.bfg.chameleon_genshi.XIncludes.activate method before using any templates (e.g., at process startup time):

    from repoze.bfg.chameleon_genshi import XIncludes
    XIncludes.activate()

    This will replace the XIncludes helper class for all consumers of Chameleon in the process.

  • Depend on Chameleon >= 1.2.8 (replaceable XIncludes class).

0.2 (2010-06-15)

  • Bring up to speed with BFG 1.3.X.

0.1 (2009-05-02)

  • Initial release (break code out of BFG core).

Release files for repoze.bfg.chameleon_genshi 0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for repoze.bfg.chameleon_genshi 0.3
File Size Uploaded
repoze.bfg.chameleon_genshi-0.3.tar.gz 8.1 kB Details

Release files / repoze.bfg.chameleon_genshi-0.3.tar.gz

Download URL repoze.bfg.chameleon_genshi-0.3.tar.gz
Size 8.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e0eaf94f317e805b36af7aa65ff90756669fd09979ed2206e03930a464231c38
BLAKE2b-256 checksum
How to use checksums
ba72d6fba082896a351654864221481956db83f85c54927ad908657994bb495f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3 This release

1 release file

0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page