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)
Copyright (C) 2012-2017 Edgewall Software