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

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

Revision 762 (checked in by fumanchu, 3 years ago)

Set svn:eol-style to "native" for all .py files. This should fix any line-ending problems for existing files: Windows users will receive CRLF endings when they check out files, and *nix users will receive LF endings. Whenever you "svn add" a new file, make sure its svn:eol-style property is "native"!

  • 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.root = GeneratorDemo()
36
37
38 if __name__ == '__main__':
39     cherrypy.config.update(file = 'tutorial.conf')
40     cherrypy.server.start()
41
Note: See TracBrowser for help on using the browser.

Hosted by WebFaction

Log in as guest/cpguest to create tickets