diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-09-14 04:33:38 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-09-14 04:33:38 +0000 |
| commit | 04e182bbc0c077afcd921f0df4231020549dc217 (patch) | |
| tree | a994d2508aaac376b76e04dd4335129b6391dca1 /repoze/bfg/chameleon_text.py | |
| parent | f587c76deac60c0a328975dcc4641d0f85984e63 (diff) | |
| download | pyramid-04e182bbc0c077afcd921f0df4231020549dc217.tar.gz pyramid-04e182bbc0c077afcd921f0df4231020549dc217.tar.bz2 pyramid-04e182bbc0c077afcd921f0df4231020549dc217.zip | |
- A ZCML ``view`` directive (and the associated ``bfg_view``
decorator) can now accept an "attr" value. If an "attr" value is
supplied, it is considered a method named of the view object to be
called when the response is required. This is typically only good
for views that are classes or instances (not so useful for
functions, as functions typically have no methods other than
``__call__``).
- A ZCML ``view`` directive (and the associated ``bfg_view``
decorator) can now accept a "template" value. If a "template" value
is supplied, and the view callable returns a dictionary, the
associated template is rendered with the dictionary as keyword
arguments.
Diffstat (limited to 'repoze/bfg/chameleon_text.py')
| -rw-r--r-- | repoze/bfg/chameleon_text.py | 43 |
1 files changed, 2 insertions, 41 deletions
diff --git a/repoze/bfg/chameleon_text.py b/repoze/bfg/chameleon_text.py index 453328d9c..f482d795f 100644 --- a/repoze/bfg/chameleon_text.py +++ b/repoze/bfg/chameleon_text.py @@ -2,50 +2,11 @@ from webob import Response from zope.component import queryUtility -from zope.interface import classProvides -from zope.interface import implements - from repoze.bfg.interfaces import IResponseFactory -from repoze.bfg.interfaces import ITemplateRenderer -from repoze.bfg.interfaces import ITemplateRendererFactory -from repoze.bfg.interfaces import ISettings from repoze.bfg.templating import renderer_from_cache - -from chameleon.core.template import TemplateFile -from chameleon.zpt.language import Parser - -class TextTemplateFile(TemplateFile): - default_parser = Parser() - - def __init__(self, filename, parser=None, format=None, - doctype=None, **kwargs): - if parser is None: - parser = self.default_parser - super(TextTemplateFile, self).__init__(filename, parser, format, - doctype, **kwargs) - -class TextTemplateRenderer(object): - classProvides(ITemplateRendererFactory) - implements(ITemplateRenderer) - - def __init__(self, path, auto_reload=False): - self.template = TextTemplateFile( - path, - format='text', - auto_reload=auto_reload - ) - - def implementation(self): - return self.template - - def __call__(self, **kw): - return self.template(**kw) - -def _auto_reload(): - settings = queryUtility(ISettings) - auto_reload = settings and settings.reload_templates - return auto_reload +from repoze.bfg.templating import TextTemplateRenderer +from repoze.bfg.templating import _auto_reload def get_renderer(path): """ Return a callable ``ITemplateRenderer`` object representing a |
