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

root/trunk/cherrypy/tutorial/tut08_generators_and_yield.py

Revision 1837 (checked in by fumanchu, 6 months ago)

Fix for #756 (Deprecate server.quickstart):

  • server.quickstart now does nothing but raise a warning.
  • Made 'root' argument to cherrypy.quickstart optional (to make tutorials easier, but it applies broadly).
  • Removed all calls to server.quickstart.
  • 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     thisdir = os.path.dirname(__file__)
41     cherrypy.quickstart(config=os.path.join(thisdir, 'tutorial.conf'))
Note: See TracBrowser for help on using the browser.

Hosted by WebFaction

Log in as guest/cpguest to create tickets