comparison contenttransformer/transformers.py @ 16:6cbe4172b54b

sketch of how to hook up imports for genshi transformer
author Jeff Hammel <jhammel@mozilla.com>
date Fri, 24 Sep 2010 19:15:13 -0700
parents 946176949bba
children afd11b758da0
comparison
equal deleted inserted replaced
15:946176949bba 16:6cbe4172b54b
1 import docutils.core 1 import docutils.core
2 import subprocess 2 import subprocess
3 from utils import import_path
3 from webob import Request, Response 4 from webob import Request, Response
4 5
5 class Transformer(object): 6 class Transformer(object):
6 """abstract base class for transformer objects""" 7 """abstract base class for transformer objects"""
7 def __init__(self, content, content_type): 8 def __init__(self, content, content_type):
63 import genshi 64 import genshi
64 from genshi.template import MarkupTemplate 65 from genshi.template import MarkupTemplate
65 66
66 class GenshiTransformer(Transformer): 67 class GenshiTransformer(Transformer):
67 68
68 def __init__(self, content, content_type): 69 def __init__(self, content, content_type, modules=()):
70 """
71 - modules : strings of modules
72 """
73 self.variables = {}
74 for path in modules:
75 module = import_path(path)
76 name = path.rsplit('.')[-1]
77 self.variables[name] = module
69 Transformer.__init__(self, content, content_type) 78 Transformer.__init__(self, content, content_type)
70 79
71 def transform(self, request): 80 def transform(self, request):
72 variables = dict(request=request) 81 variables = dict(request=request)
73 template = MarkupTemplate(self.content) 82 template = MarkupTemplate(self.content)