Mercurial > genshi > genshi-test
comparison examples/tutorial/geddit/controller.py @ 622:dc35e9882390
GenshiTutorial: add Atom feeds.
author | cmlenz |
---|---|
date | Thu, 30 Aug 2007 22:49:48 +0000 |
parents | 71d3edd302ae |
children | dba522b4c31d |
comparison
equal
deleted
inserted
replaced
621:d218020fb92a | 622:dc35e9882390 |
---|---|
18 | 18 |
19 def __init__(self, data): | 19 def __init__(self, data): |
20 self.data = data | 20 self.data = data |
21 | 21 |
22 @cherrypy.expose | 22 @cherrypy.expose |
23 @template.output('index.xml', method='xml') | |
24 def feed(self, id=None): | |
25 if id: | |
26 link = self.data.get(id) | |
27 if not link: | |
28 raise cherrypy.NotFound() | |
29 return template.render('info.xml', link=link) | |
30 else: | |
31 links = sorted(self.data.values(), key=operator.attrgetter('time')) | |
32 return template.render(links=links) | |
33 | |
34 @cherrypy.expose | |
23 @template.output('index.html') | 35 @template.output('index.html') |
24 def index(self): | 36 def index(self): |
25 links = sorted(self.data.values(), key=operator.attrgetter('time')) | 37 links = sorted(self.data.values(), key=operator.attrgetter('time')) |
26 return template.render(links=links) | 38 return template.render(links=links) |
27 | 39 |
28 @cherrypy.expose | 40 @cherrypy.expose |
29 @template.output('info.html') | 41 @template.output('info.html') |
30 def info(self, code): | 42 def info(self, id): |
31 link = self.data.get(code) | 43 link = self.data.get(id) |
32 if not link: | 44 if not link: |
33 raise cherrypy.NotFound() | 45 raise cherrypy.NotFound() |
34 return template.render(link=link) | 46 return template.render(link=link) |
35 | 47 |
36 @cherrypy.expose | 48 @cherrypy.expose |
52 | 64 |
53 return template.render(errors=errors) | HTMLFormFiller(data=data) | 65 return template.render(errors=errors) | HTMLFormFiller(data=data) |
54 | 66 |
55 @cherrypy.expose | 67 @cherrypy.expose |
56 @template.output('comment.html') | 68 @template.output('comment.html') |
57 def comment(self, code, cancel=False, **data): | 69 def comment(self, id, cancel=False, **data): |
58 link = self.data.get(code) | 70 link = self.data.get(id) |
59 if not link: | 71 if not link: |
60 raise cherrypy.NotFound() | 72 raise cherrypy.NotFound() |
61 if cherrypy.request.method == 'POST': | 73 if cherrypy.request.method == 'POST': |
62 if cancel: | 74 if cancel: |
63 raise cherrypy.HTTPRedirect('/info/%s' % link.id) | 75 raise cherrypy.HTTPRedirect('/info/%s' % link.id) |