Mercurial > hg > contenttransformer
diff contenttransformer/transformers.py @ 15:946176949bba
add the genshi transformer
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Mon, 06 Sep 2010 08:45:30 -0700 |
parents | 59496de89997 |
children | 6cbe4172b54b |
line wrap: on
line diff
--- a/contenttransformer/transformers.py Wed Jun 30 22:32:33 2010 -0700 +++ b/contenttransformer/transformers.py Mon Sep 06 08:45:30 2010 -0700 @@ -58,3 +58,21 @@ writer_name='html', settings_overrides=self.settings) return ('text/html', html) + +try: + import genshi + from genshi.template import MarkupTemplate + + class GenshiTransformer(Transformer): + + def __init__(self, content, content_type): + Transformer.__init__(self, content, content_type) + + def transform(self, request): + variables = dict(request=request) + template = MarkupTemplate(self.content) + stream = template.generate(**variables) + return ('text/html', stream.render('html', doctype='html')) + +except ImportError: + pass