# HG changeset patch # User cmlenz # Date 1183051939 0 # Node ID 661715b49c0c935c54dec97660cff4d36038f020 # Parent 19c7dc1e4dd51661d5662d3dd5ee340df69d367c Replace Myghty by Mako in basic benchmark. diff --git a/examples/bench/basic.py b/examples/bench/basic.py --- a/examples/bench/basic.py +++ b/examples/bench/basic.py @@ -9,7 +9,7 @@ import sys import timeit -__all__ = ['clearsilver', 'myghty', 'django', 'kid', 'genshi', 'cheetah'] +__all__ = ['clearsilver', 'mako', 'django', 'kid', 'genshi', 'cheetah'] def genshi(dirname, verbose=False): from genshi.template import TemplateLoader @@ -24,19 +24,14 @@ print render() return render -def myghty(dirname, verbose=False): - try: - from myghty import interp - except ImportError: - print>>sys.stderr, 'Mighty not installed, skipping' - return lambda: None - interpreter = interp.Interpreter(component_root=dirname) +def mako(dirname, verbose=False): + from mako.lookup import TemplateLookup + lookup = TemplateLookup(directories=[dirname], filesystem_checks=False) + template = lookup.get_template('template.html') def render(): data = dict(title='Just a test', user='joe', - items=['Number %d' % num for num in range(1, 15)]) - buffer = StringIO() - interpreter.execute("template.myt", request_args=data, out_buffer=buffer) - return buffer.getvalue() + list_items=['Number %d' % num for num in range(1, 15)]) + return template.render(**data) if verbose: print render() return render @@ -186,6 +181,6 @@ stats = hotshot.stats.load("template.prof") stats.strip_dirs() stats.sort_stats('time', 'calls') - stats.print_stats() + stats.print_stats(.05) else: run(engines, verbose=verbose) diff --git a/examples/bench/mako/footer.html b/examples/bench/mako/footer.html new file mode 100644 --- /dev/null +++ b/examples/bench/mako/footer.html @@ -0,0 +1,2 @@ + diff --git a/examples/bench/mako/header.html b/examples/bench/mako/header.html new file mode 100644 --- /dev/null +++ b/examples/bench/mako/header.html @@ -0,0 +1,5 @@ + + + diff --git a/examples/bench/mako/template.html b/examples/bench/mako/template.html new file mode 100644 --- /dev/null +++ b/examples/bench/mako/template.html @@ -0,0 +1,29 @@ + + + + ${title} + + + <%def name="greeting(name)"> +

Hello, ${name}!

+ + + <%include file="header.html"/> + + ${greeting(user)} + ${greeting('me')} + ${greeting('world')} + +

Loop

+ % if items: + + % endif + <%include file="footer.html"/> + +