import wsgiref.handlers import os import random from google.appengine.ext import webapp from google.appengine.ext import db from google.appengine.ext.webapp import template class Startup(db.Model): name = db.StringProperty() url = db.StringProperty() logo = db.StringProperty() votes = db.IntegerProperty() class Vote(db.Model): loser = db.IntegerProperty() winner = db.IntegerProperty() class MainPage(webapp.RequestHandler): def get(self): startups = Startup.all() int1 = random.randint(0,49) int2 = random.randint(0,49) while int2 == int1: int2 = random.randint(0,49) template_values = { 'startup1': startups[int1], 'startup2': startups[int2], } path = os.path.join(os.path.dirname(__file__), 'index.html') self.response.out.write(template.render(path, template_values)) class Results(webapp.RequestHandler): def post(self): vote = Vote() vote.loser = int(self.request.get('loser')) vote.winner = int(self.request.get('winner')) vote.put() theWinner = Startup.get_by_id(vote.winner) theLoser = Startup.get_by_id(vote.loser) q = Vote.gql("WHERE winner = :1 AND loser = :2", vote.winner, vote.loser) winnerVsLoser = float(q.count()) q = Vote.gql("WHERE loser = :1 AND winner = :2", vote.winner, vote.loser) loserVsWinner = float(q.count()) q = Vote.gql("WHERE winner = :1", vote.winner) winnerWin = float(q.count()) q = Vote.gql("WHERE loser = :1", vote.winner) winnerLose = float(q.count()) q = Vote.gql("WHERE winner = :1", vote.loser) loserWin = float(q.count()) q = Vote.gql("WHERE loser = :1", vote.loser) loserLose = float(q.count()) startups = Startup.all() int1 = random.randint(0,49) int2 = random.randint(0,49) while int2 == int1: int2 = random.randint(0,49) template_values = { 'winnerVsLoser': int((winnerVsLoser/(loserVsWinner + winnerVsLoser)) * 100), 'winnerWin': int((winnerWin/(winnerLose + winnerWin)) * 100), 'loserLose': int((loserLose/(loserWin + loserLose)) * 100), 'theWinner': theWinner, 'theLoser': theLoser, 'startup1': startups[int1], 'startup2': startups[int2], } path = os.path.join(os.path.dirname(__file__), 'results.html') self.response.out.write(template.render(path, template_values)) def main(): application = webapp.WSGIApplication( [('/', MainPage), ('/results', Results)], debug=True) wsgiref.handlers.CGIHandler().run(application) if __name__ == "__main__": main()