Exemple #1
0
	def post(self):
		user=users.get_current_user()
		if user is None:
			self.redirect(users.create_login_url(self.request.uri))
		else:
			# store game
			data=self.request.POST
			first_player=Player.get_player_with_id(data['first_player'])
			second_player=Player.get_player_with_id(data['second_player'])
			first_score=int(data['first_score'])
			second_score=int(data['second_score'])
			game = Game(first_player=first_player, first_score=first_score,
						second_player=second_player, second_score=second_score)
			game.first_player_wins = (first_score > second_score)
			game.reporter = Player.get_player(user)
			game.put()

			# update ratings
			wp_1 = game.first_player_wins
			wp_r, lp_r = (first_player.rating, second_player.rating) if wp_1 \
							else (second_player.rating, first_player.rating)
			new_wp, new_lp = elo.update_ratings(wp_r, lp_r)
			first_player.rating = new_wp if wp_1 else new_lp
			second_player.rating = new_lp if wp_1 else new_wp
			first_player.put()
			second_player.put()

			self.redirect('/')
Exemple #2
0
	def yield_page(self, tname, tvals):
		user = users.get_current_user()
		if user is None:
			self.redirect(users.create_login_url(self.request.uri))
		else:
			player = Player.get_player(user)

			context = {
				"username": user.nickname(),
				'user': user,
				"player": player,
				"gravatar_url": get_gravatar_url(user.email()),
				"logout_url": users.create_logout_url("/"),
				"tname":tname
			}
			context.update(tvals)

			cpath = os.path.join(os.path.dirname(__file__), 'templates/%s.html' % tname)
			self.response.out.write(template.render(cpath, context))