add a pyramid aware TemplateEngine

This commit is contained in:
Gael Pasgrimaud
2011-01-16 14:50:56 +01:00
parent 41fa082d75
commit e6a08e20e5
2 changed files with 31 additions and 2 deletions
+6 -2
View File
@@ -35,9 +35,13 @@ def configure(config, models=None, forms=None, session_factory=None, package=Non
'fa.session_factory': session_factory,
})
prefix = prefix.rstrip('/')
if not prefix:
prefix = '/'
if use_jquery:
config.add_route('fa_admin', '/%s/*traverse' % prefix,
config.add_route('fa_admin', '%s/*traverse' % prefix,
factory='pyramid_formalchemy.resources.AdminView')
else:
config.add_route('fa_admin', '/%s/*traverse' % prefix,
config.add_route('fa_admin', '%s/*traverse' % prefix,
factory='pyramid_formalchemy.resources.AdminView')
+25
View File
@@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
from formalchemy.templates import TemplateEngine as BaseTemplateEngine
from formalchemy import fatypes
from webhelpers.html import literal
from pyramid.renderers import render
class TemplateEngine(BaseTemplateEngine):
"""A template engine aware of pyramid"""
def __init__(self, *args, **kwargs):
"""Do nothing. Almost all the mechanism is deleged to pyramid.renderers"""
def render(self, name=None, renderer=None, template=None, **kwargs):
renderer = renderer or template
if renderer is None:
name = name.strip('/')
if not name.endswith('.pt'):
name = '%s.pt' % name
renderer = 'fa.jquery:templates/forms/%s' % name
kwargs.update(dict(
fatypes=fatypes,
))
return literal(render(renderer, kwargs))