add demonstration of geosearch
[gae-samples.git] / guestbook_namespaces / guestbook.py
blob0868cc9ba9686ab3963dae3ba04da7472d866db1
1 import cgi
2 import datetime
3 import wsgiref.handlers
5 from google.appengine.ext import db
6 from google.appengine.api import users
7 from google.appengine.ext import webapp
8 from google.appengine.ext.webapp.util import run_wsgi_app
10 class Greeting(db.Model):
11 author = db.UserProperty()
12 content = db.StringProperty(multiline=True)
13 date = db.DateTimeProperty(auto_now_add=True)
16 class MainPage(webapp.RequestHandler):
17 def get(self):
18 self.response.out.write('<html><body>')
20 greetings = db.GqlQuery("SELECT * "
21 "FROM Greeting "
22 "ORDER BY date DESC LIMIT 10")
24 for greeting in greetings:
25 if greeting.author:
26 self.response.out.write('<b>%s</b> wrote:' % greeting.author.nickname())
27 else:
28 self.response.out.write('An anonymous person wrote:')
29 self.response.out.write('<blockquote>%s</blockquote>' %
30 cgi.escape(greeting.content))
32 # Write the submission form and the footer of the page
33 self.response.out.write("""
34 <form action="/sign" method="post">
35 <div><textarea name="content" rows="3" cols="60"></textarea></div>
36 <div><input type="submit" value="Sign Guestbook"></div>
37 </form>
38 </body>
39 </html>""")
42 class Guestbook(webapp.RequestHandler):
43 def post(self):
44 greeting = Greeting()
46 if users.get_current_user():
47 greeting.author = users.get_current_user()
49 greeting.content = self.request.get('content')
50 greeting.put()
51 self.redirect('/')
54 application = webapp.WSGIApplication([
55 ('/', MainPage),
56 ('/sign', Guestbook)
57 ], debug=True)
60 def main():
61 run_wsgi_app(application)
64 if __name__ == '__main__':
65 main()