Mercurial > genshi > genshi-test
changeset 79:16571c57907b
Added SimpleTAL example to benchmark.
author | cmlenz |
---|---|
date | Thu, 13 Jul 2006 18:52:26 +0000 |
parents | fa4bafcbe4c7 |
children | d5db5e3aec58 |
files | examples/bench/run.py examples/bench/simpletal/base.html examples/bench/simpletal/template.html |
diffstat | 3 files changed, 63 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/examples/bench/run.py +++ b/examples/bench/run.py @@ -1,7 +1,7 @@ from cgi import escape import os +from StringIO import StringIO import sys -import time import timeit __all__ = ['markup', 'clearsilver', 'django', 'kid'] @@ -81,6 +81,25 @@ print template return render +def simpletal(dirname): + from simpletal import simpleTAL, simpleTALES + fileobj = open(os.path.join(dirname, 'base.html')) + base = simpleTAL.compileHTMLTemplate(fileobj) + fileobj.close() + fileobj = open(os.path.join(dirname, 'template.html')) + template = simpleTAL.compileHTMLTemplate(fileobj) + fileobj.close() + def render(): + ctxt = simpleTALES.Context() + ctxt.addGlobal('base', base) + ctxt.addGlobal('title', 'Just a test') + ctxt.addGlobal('user', 'joe') + ctxt.addGlobal('items', ['Number %d' % num for num in range(1, 15)]) + buf = StringIO() + template.expand(ctxt, buf) + return buf.getvalue() + return render + def run(engines): basepath = os.path.abspath(os.path.dirname(__file__)) for engine in engines:
new file mode 100644 --- /dev/null +++ b/examples/bench/simpletal/base.html @@ -0,0 +1,15 @@ +<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> + + <p metal:define-macro="greeting"> + Hello, <span metal:define-slot="name">name</span> + </p> + + <body metal:define-macro="content"> + <div id="header"> + <h1 tal:content="title" /> + </div> + <div metal:define-slot="content" tal:omit-tag="" /> + <div id="footer"></div> + </body> + +</html>
new file mode 100644 --- /dev/null +++ b/examples/bench/simpletal/template.html @@ -0,0 +1,28 @@ +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> + <head> + <title tal:content="title">Title</title> + </head> + <body metal:use-macro="base/macros/content"> + <div metal:fill-slot="content"> + + <div metal:use-macro="base/macros/greeting"> + <span metal:fill-slot="name" tal:content="user" tal:omit-tag=""></span> + </div> + <div metal:use-macro="base/macros/greeting"> + <span metal:fill-slot="name" tal:omit-tag="">me</span> + </div> + <div metal:use-macro="base/macros/greeting"> + <span metal:fill-slot="name" tal:omit-tag="">world</span> + </div> + + <h2>Loop</h2> + <ul tal:condition="items"> + <li tal:repeat="item items" tal:content="item">Item</li> + </ul> + + </div> + </body> +</html>