Skip to main content

Five bridges and patches to use Chameleon with Zope 2.

Project description

Overview

The five.pt package brings the Chameleon template engine to the Zope 2 platform. It’s a drop-in replacement, providing bridges to the most common API.

Support for browser pages, viewlets and viewlet managers is included.

Usage

To enable Chameleon, simply include the ZCML configuration:

<include package="five.pt" />

Tempates may be instantiated directly. Here’s an example of a browser view which uses a view page template:

from Products.Five import BrowserView
from five.pt.pagetemplate import ViewPageTemplateFile

class SimpleView(BrowserView):
    index = ViewPageTemplateFile('simple.pt')

Other template classes are available, see the pagetemplate module.

For general information about Chameleon, see http://chameleon.repoze.org/.

Changelog

2.0-rc2 (2011-05-24)

  • Have the base template class implement IPageTemplate from zope.pagetemplate. This interface is relied on for a number of adapter registrations and the missing interface declaration affects packages such as plone.caching. [malthe]

  • Set default reload mode to the Zope 2 application server configuration’s debug_mode value. [malthe]

2.0-rc1 (2011-02-28)

  • Update to Chameleon 2.0.

    This release includes many changes and is a complete rewrite of the 1.x series.

    Note that Python 2.5+ is now required. [malthe]

  • Python-expressions are now subject to access-control security. [malthe]

1.3.3 - 2010-09-30

  • Apply patches at import time instead of product initialisation. [wichert]

1.3.2 - 2010-09-29

  • Add a same_type method to the default namespace. [wichert]

1.3.1 - 2010-09-23

  • Added support for eager loading (environment variable CHAMELEON_EAGER). This flag should be passed only in development mode and will reveal any templates which do not parse. [malthe]

1.3 - 2010-09-08

  • Added support for PageTemplate and ZopePageTemplate. [malthe]

1.2 - 2010-08-30

  • Fixed acquisition-wrapping issue: we need to wrap with the parent to avoid a pair of template objects (original and patched).

1.1 - 2010-05-15

  • Add DateTime to the base context. Fixes problems with certain ZMI pages. [wichert]

1.0 - 2010-05-13

  • If template is not an acquirer, wrap it implicitly. [malthe]

  • Removed unused ViewletManager ZCML handler. [malthe]

0.10 - 2010-04-20

  • Improve five.grok support [fretin]

  • Check if templates are acquisition-aware before trying to wrap them. This fixes problems with METAL macros in some ZMI pages. [wichert]

0.9 - 2010-04-14

  • Basic support for five.grok templates. [wichert]

0.8 - 2010-01-05

  • Fixed some calling convention oddity that would result in the view instance being passed doubly as the template arguments.

0.7 - 2009-05-20

  • Default encoding of the base template set to UTF-8. [malthe]

  • Update to latest Chameleon. [malthe]

  • Patch macros attribute. [malthe]

0.6 - 2009-04-06

  • Avoid another case of unconditionally attempting to Acquisition wrap template files. We do have an interface check for this. [hannosch]

0.5 - 2009-02-17

  • Added test function to template context. [malthe]

  • Fixed edge-case (special case?) where the view of a ViewPageTemplateFile is really only the view for a view. [malthe]

  • Added patch for Products.PageTemplates.PageTemplateFile. [malthe]

  • Rework the “full namespace provided to path expression” change introduced in 0.3. We no longer call the expensive locals() function but construct a minimal namespace with the context and request ourselves. [hannosch]

  • If the __get__ method is called uninstantiated, just return the class itself. [malthe]

five.pt 0.4 (released 2/13/2009)

  • Fixed issue where the template parameter to a viewlet manager directive was effectively ignored. [malthe]

  • Fixed acquisition-wrapping issue with the (patched) bound template class (could cause infinite loop due to cyclic acquisition chain). [malthe]

  • Moved evaluate_path and evaluate_exists over to z3c.pt, adding support for global path() and exists() functions for use in python: expressions to it (LP #317967). [sidnei]

five.pt 0.3 (released 12/17/2008)

  • Use bobo traversal if OFS.interfaces.ITraversable interface is provided. [malthe]

  • Adjusted the path expression to provide the full namespace to the render function and not just the request. This matches Zope2 behavior. [hannosch]

five.pt 0.2 (released 11/29/2008)

  • From Zope 2.12 onwards, do not acquisition-wrap content provider. [malthe]

  • Split out CMF-related code to separate package. [malthe]

  • Compatibility changes to support Zope 2.10. [malthe]

five.pt 0.1 (released 11/19/2008)

  • Initial release.

  • Simplified template class inheritance. [malthe]

  • Added path and exists functions to skin template namespace. [malthe]

  • Added call-support for old-style classes in path expressions. [malthe]

  • Added monkey-patches to replace template engine for module-level view page template instances. [malthe]

  • Made EContext class more robust. [malthe]

  • Register custom file-system page template class for use with CMF form controllers. [malthe]

  • Register custom file-system page template class for use with CMF directory views. [malthe]

  • Added meta-directives to register browser views, viewlets and viewlet managers using Chameleon templates. [malthe]

  • Updated to latest API. [malthe]

  • Package structure. [hannosch]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

five.pt-2.0-rc2.tar.gz (18.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page