Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

root/branches/cherrypy-3.0.x/cherrypy/tutorial/tut08_generators_and_yield.py

Revision 1219 (checked in by fumanchu, 2 years ago)

Changed server.start to server.quickstart, and server.start_all to server.start.

  • Property svn:eol-style set to native
Line 
1 """
2 Bonus Tutorial: Using generators to return result bodies
3
4 Instead of returning a complete result string, you can use the yield
5 statement to return one result part after another. This may be convenient
6 in situations where using a template package like CherryPy or Cheetah
7 would be overkill, and messy string concatenation too uncool. ;-)
8 """
9
10 import cherrypy
11
12
13 class GeneratorDemo:
14    
15     def header(self):
16         return "<html><body><h2>Generators rule!</h2>"
17    
18     def footer(self):
19         return "</body></html>"
20    
21     def index(self):
22         # Let's make up a list of users for presentation purposes
23         users = ['Remi', 'Carlos', 'Hendrik', 'Lorenzo Lamas']
24        
25         # Every yield line adds one part to the total result body.
26         yield self.header()
27         yield "<h3>List of users:</h3>"
28        
29         for user in users:
30             yield "%s<br/>" % user
31            
32         yield self.footer()
33     index.exposed = True
34
35 cherrypy.tree.mount(GeneratorDemo())
36
37
38 if __name__ == '__main__':
39     import os.path
40     cherrypy.config.update(os.path.join(os.path.dirname(__file__), 'tutorial.conf'))
41     cherrypy.server.quickstart()
42     cherrypy.engine.start()
43
Note: See TracBrowser for help on using the browser.

Hosted by WebFaction

Log in as guest/cpguest to create tickets