fortune.py 1.1 KB

1234567891011121314151617181920212223
  1. import cgi
  2. import json
  3. from random import randint
  4. from operator import attrgetter
  5. from WebKit.Page import Page
  6. from DbSession import Database
  7. from AFortune import AFortune
  8. class fortune(Page):
  9. def writeHTML(self):
  10. output = "<!DOCTYPE html><html><head><title>Fortunes</title></head><body><table><tr><th>id</th><th>message</th></tr>"
  11. self.response().clearHeaders()
  12. self.response()._headers["Content-Type"] = "text/html; charset=UTF-8"
  13. fortunes = Database.DbSession.query(AFortune).all()
  14. fortunes.append(AFortune(id=0, message="Additional fortune added at request time."))
  15. fortunes.sort(key=attrgetter("message"))
  16. for fortune in fortunes:
  17. message = cgi.escape(fortune.message)
  18. output += "<tr><td>%s</td><td>%s</td></tr>" % (fortune.id , message.encode("utf-8"))
  19. output += "</table></body></html>"
  20. self.response()._headers["Content-Length"] = len(output)
  21. self.writeln(output)