[Grok-dev] Plugging new template language

Santiago Videla santiago.videla at gmail.com
Wed Nov 26 10:56:02 EST 2008


I followed the tutorial in
I'm using a combination of Jinja + Yaml + simplejson
to be able to render JSON format from grok.View classes.

Basically I have something like this:

from jinja2 import Template
import yaml, simplejson, grok, os
from grokcore.view.components import GrokTemplate
from grokcore.view.interfaces import ITemplate, ITemplateFileFactory

class JSONTemplate(GrokTemplate):

    def setFromString(self, string):
        self._template = Template(string)

    def setFromFilename(self, filename, _prefix=None):
        file = open(os.path.join(_prefix, filename))
        self._template = Template(file.read())

    def render(self, view):
        jinja_render = self._template.render(**self.getNamespace(view))
        yaml_loader = yaml.load(jinja_render)
        return simplejson.dumps(yaml_loader)

I'm doing this because I want to build an application that only use JSON and
some JavaScript framework on the client side (extjs by now). And I didn't
like the way I should use grok.JSON (too much classes and methods).

The question is: is there any way to reload the plugged templates without
restart zope? like grok does with default ZPT

thanks in advance.

Santiago Videla

Sigue la mata dando de que hablar siempre abajo y a la izquierda donde el
pensamiento que se hace corazón resplandece con la palabra sencilla y
humilde que l at s tod at s somos.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.zope.org/pipermail/grok-dev/attachments/20081126/7a83ce6e/attachment.html 

More information about the Grok-dev mailing list