diff options
author | Vincent Férotin <vincent.ferotin@gmail.com> | 2012-02-21 21:38:32 +0100 |
---|---|---|
committer | Vincent Férotin <vincent.ferotin@gmail.com> | 2012-02-21 21:38:32 +0100 |
commit | 8a63bd29574feb925d4b7945007f7941c6f5cbfa (patch) | |
tree | 4ef91a4e4f998d901bf7cc0ec528813e12b75aaf | |
parent | 583c8e3683fd73eb6d0a6902a4cfb121227905f3 (diff) | |
download | mako-8a63bd29574feb925d4b7945007f7941c6f5cbfa.tar.gz |
Use same constants across templates rendering functions:
``TITLE``, ``USER`` and ``(U_)ITEMS``.
-rw-r--r-- | examples/bench/basic.py | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/examples/bench/basic.py b/examples/bench/basic.py index 85ffae5..6835065 100644 --- a/examples/bench/basic.py +++ b/examples/bench/basic.py @@ -46,13 +46,18 @@ def u(stringlit): __all__ = ['mako', 'mako_inheritance', 'jinja2', 'jinja2_inheritance', 'cheetah', 'django', 'myghty', 'genshi', 'kid'] +# Templates content and constants +TITLE = 'Just a test' +USER = 'joe' +ITEMS = ['Number %d' % num for num in range(1, 15)] +U_ITEMS = [u(item) for item in ITEMS] + def genshi(dirname, verbose=False): from genshi.template import TemplateLoader loader = TemplateLoader([dirname], auto_reload=False) template = loader.load('template.html') def render(): - data = dict(title='Just a test', user='joe', - items=['Number %d' % num for num in range(1, 15)]) + data = dict(title=TITLE, user=USER, items=ITEMS) return template.generate(**data).render('xhtml') if verbose: @@ -63,8 +68,7 @@ def myghty(dirname, verbose=False): from myghty import interp interpreter = interp.Interpreter(component_root=dirname) def render(): - data = dict(title='Just a test', user='joe', - items=['Number %d' % num for num in range(1, 15)]) + data = dict(title=TITLE, user=USER, items=ITEMS) buffer = StringIO() interpreter.execute("template.myt", request_args=data, out_buffer=buffer) return buffer.getvalue() @@ -79,7 +83,7 @@ def mako(dirname, verbose=False): lookup = TemplateLookup(directories=[dirname], filesystem_checks=False, disable_unicode=disable_unicode) template = lookup.get_template('template.html') def render(): - return template.render(title="Just a test", user="joe", list_items=[u('Number %d') % num for num in range(1,15)]) + return template.render(title=TITLE, user=USER, list_items=U_ITEMS) if verbose: print(template.code + " " + render()) return render @@ -90,7 +94,7 @@ def jinja2(dirname, verbose=False): env = Environment(loader=FileSystemLoader(dirname)) template = env.get_template('template.html') def render(): - return template.render(title="Just a test", user="joe", list_items=[u('Number %d') % num for num in range(1,15)]) + return template.render(title=TITLE, user=USER, list_items=U_ITEMS) if verbose: print(render()) return render @@ -101,8 +105,8 @@ def cheetah(dirname, verbose=False): filename = os.path.join(dirname, 'template.tmpl') template = Template(file=filename) def render(): - template.__dict__.update({'title': 'Just a test', 'user': 'joe', - 'list_items': [u('Number %d') % num for num in range(1, 15)]}) + template.__dict__.update({'title': TITLE, 'user': USER, + 'list_items': U_ITEMS}) return template.respond() if verbose: @@ -120,8 +124,7 @@ def django(dirname, verbose=False): tmpl = loader.get_template('template.html') def render(): - data = {'title': 'Just a test', 'user': 'joe', - 'items': ['Number %d' % num for num in range(1, 15)]} + data = {'title': TITLE, 'user': USER, 'items': ITEMS} return tmpl.render(template.Context(data)) if verbose: @@ -134,8 +137,7 @@ def kid(dirname, verbose=False): template = kid.Template(file='template.kid') def render(): template = kid.Template(file='template.kid', - title='Just a test', user='joe', - items=['Number %d' % num for num in range(1, 15)]) + title=TITLE, user=USER, items=ITEMS) return template.serialize(output='xhtml') if verbose: |