annotate examples/webpy/hello.py @ 688:d8571da25bc5 trunk

The `Stream.render` now accepts an optional `out` parameter that can be used to pass in a writable file-like object to use for assembling the output, instead of building a big string and returning it.
author cmlenz
date Wed, 12 Mar 2008 20:46:34 +0000
parents e72bd8515dd2
children
rev   line source
267
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
1 import os
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
2 from genshi.template import TemplateLoader
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
3 import web
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
4
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
5 loader = TemplateLoader([os.path.dirname(os.path.abspath(__file__))],
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
6 auto_reload=True)
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
7 urls = ('/(.*)', 'hello')
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
8
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
9
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
10 class hello(object):
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
11
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
12 def GET(self, name):
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
13 i = web.input(times=1)
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
14 if not name:
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
15 name = 'world'
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
16 name = name.decode('utf-8')
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
17
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
18 tmpl = loader.load('hello.html')
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
19 stream = tmpl.generate(name=name, times=int(i.times))
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
20
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
21 web.header('Content-Type', 'text/html; charset=utf-8', unique=True)
271
370fa02591a8 Still too much whitespace in the [WebPy web.py] example. Switch to printing the whole output at once.
cmlenz
parents: 270
diff changeset
22 print stream.render('html')
267
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
23
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
24
8165d6e3b703 Add [WebPy web.py] example app.
cmlenz
parents:
diff changeset
25 if __name__ == '__main__':
385
e72bd8515dd2 Updated WebPy example for 0.2.
cmlenz
parents: 271
diff changeset
26 web.webapi.internalerror = web.debugerror
e72bd8515dd2 Updated WebPy example for 0.2.
cmlenz
parents: 271
diff changeset
27 web.run(urls, globals())
Copyright (C) 2012-2017 Edgewall Software