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