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-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]
========
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-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
Release history Release notifications | RSS feed
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-rc1.tar.gz
(17.9 kB
view hashes)