Dru89

main.py for andrewhays-net

Feb 23rd, 2012
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.96 KB | None | 0 0
  1. import os
  2.  
  3. from google.appengine.dist import use_library
  4. use_library('django', '1.2')
  5. os.environ['DJANGO_SETTINGS_MODULE'] = "settings"
  6. from django.conf import settings
  7. from django.template.loader import render_to_string
  8.  
  9. from google.appengine.ext import webapp
  10. from google.appengine.ext.webapp.util import run_wsgi_app
  11.  
  12. """
  13. TODO:
  14. - pictures of me to go on the banner (3-5, 2 or 3 with me & Ashley).
  15. - pictures of me to go in the about section (just one).
  16. - screenshots that go on the projects.
  17. - screenshots that go with publications.
  18. """
  19.  
  20. class MainHandler(webapp.RequestHandler):
  21.     path = 'template.html'
  22.     banner = '/static/images/streamphoto1.jpg'
  23.     def get_template(self):
  24.         return {"uri": self.request.uri, "title": "Drew's Website", "is_mobile": self.is_mobile(),
  25.                 "banner": self.banner}
  26.     def is_mobile(self):
  27.         ua = self.request.headers['User-Agent']
  28.         return any(map(lambda mobile_device: mobile_device.lower() in ua.lower(), [
  29.             'iPad', 'iPhone', 'Android', 'iPod', 'Windows Phone'
  30.             ]))
  31.  
  32. class RootHandler(MainHandler):
  33.     banner = '/static/images/streamphoto1.jpg'
  34.     def get(self):
  35.         data = self.get_template()
  36.         data["partial"] = "_index.html"
  37.         self.response.out.write(render_to_string(self.path, data))
  38.        
  39. class AboutHandler(MainHandler):
  40.     banner = '/static/images/streamphoto2.jpg'
  41.     def get(self):
  42.         data = self.get_template()
  43.         data["title"] = "About Drew"
  44.         data["partial"] = "_about.html"
  45.         self.response.out.write(render_to_string(self.path, data))
  46.  
  47. class CoursesHandler(MainHandler):
  48.     requires_jquery = True
  49.     banner = '/static/images/streamphoto3.jpg'
  50.     def get(self):
  51.         data = self.get_template()
  52.         data["title"] = "Drew's Courses"
  53.         data["partial"] = "_courses.html"
  54.         self.response.out.write(render_to_string(self.path, data))
  55.        
  56. class ProjectsHandler(MainHandler):
  57.     banner = '/static/images/streamphoto1.jpg'
  58.     def get(self):
  59.         data = self.get_template()
  60.         data["title"] = "Drew's Projects"
  61.         data["partial"] = "_projects.html"
  62.         self.response.out.write(render_to_string(self.path, data))
  63.        
  64. class PublicationsHandler(MainHandler):
  65.     banner = '/static/images/streamphoto2.jpg'
  66.     def get(self):
  67.         data = self.get_template()
  68.         data["title"] = "Drew's Publications"
  69.         data["partial"] = "_publications.html"
  70.         self.response.out.write(render_to_string(self.path, data))
  71.  
  72. application = webapp.WSGIApplication([('/', RootHandler),
  73.                                ('/about(?:/?)', AboutHandler),
  74.                                ('/courses(?:/?)', CoursesHandler),
  75.                                ('/projects(?:/?)', ProjectsHandler),
  76.                                ('/publications(?:/?)', PublicationsHandler)],
  77.                               debug=True)
  78.  
  79. if __name__ == "__main__":
  80.     run_wsgi_app(application)
Advertisement
Add Comment
Please, Sign In to add comment