コード例 #1
0
def vote(postVars):
	
	global couchdbServer
	
	templateVars = dict()
	winnerId = postVars["winner"].value.decode("utf-8")
	loserId = postVars["loser"].value.decode("utf-8")
	
	try:
		db = couchdbServer.create("players")
	except:
		db = couchdbServer["players"]
	
	winner = Player.load(db,winnerId)
	loser = Player.load(db,loserId)

	match = Match()
	if postVars["draw"].value == "0":
		match.matchWithWinner(winner,loser)
	else:
		match.matchWithoutWinner(winner,loser)
	
	try:
		winner.store(db)
	except ResourceConflict:
		print "Unable to store winner"
	
	try:
		loser.store(db)
	except ResourceConflict:
		print "Unable to store loser"
		
		
	votesCount = classes.rankingsession.getSession("votesToFinish")
	votesCount -= 1
	votesCount = classes.rankingsession.setSession("votesToFinish", votesCount)
	
	templateVars = dict(json = json.dumps(dict()))
	return output_template("json.html", templateVars )
コード例 #2
0
	def testMatchesResults(self):

		server = Server()
		try:
			db = server.create("players")
		except:
			db = server["players"]

		player0 = Player()
		player0.store(db)
		player1 = Player()
		player1.store(db)
		
		match = Match()

		match.matchWithWinner(player0, player1)
		self.assertEqual(player0.karma, 405), "Error on match"
		self.assertEqual(player0.matches, 1), "Error on match"
		self.assertEqual(player0.wins, 1), "Error on match"
		self.assertEqual(player0.losses, 0), "Error on match"
		self.assertEqual(player1.karma, 395), "Error on match"
		self.assertEqual(player1.matches, 1), "Error on match"
		self.assertEqual(player1.wins, 0), "Error on match"
		self.assertEqual(player1.losses, 1), "Error on match"
		
		match.matchWithWinner(player1, player0)
		self.assertEqual(player0.karma, 400), "Error on match"
		self.assertEqual(player0.matches, 2), "Error on match"
		self.assertEqual(player0.wins, 1), "Error on match"
		self.assertEqual(player0.losses, 1), "Error on match"
		self.assertEqual(player1.karma, 400), "Error on match"
		self.assertEqual(player1.matches, 2), "Error on match"
		self.assertEqual(player1.wins, 1), "Error on match"
		self.assertEqual(player1.losses, 1), "Error on match"

		match.matchWithWinner(player0, player1)
		self.assertEqual(player0.karma, 405), "Error on match"
		self.assertEqual(player0.matches, 3), "Error on match"
		self.assertEqual(player1.karma, 395), "Error on match"
		self.assertEqual(player1.matches, 3), "Error on match"

		match.matchWithWinner(player0,player1)
		self.assertEqual(player0.karma, 410), "Error on match"
		self.assertEqual(player0.matches, 4), "Error on match"
		self.assertEqual(player1.karma, 390), "Error on match"
		self.assertEqual(player1.matches, 4), "Error on match"

		match.matchWithWinner(player0, player1)
		self.assertEqual(player0.karma, 415), "Error on match"
		self.assertEqual(player0.matches, 5), "Error on match"
		self.assertEqual(player1.karma, 385), "Error on match"
		self.assertEqual(player1.matches, 5), "Error on match"

		match.matchWithWinner(player0, player1)
		self.assertEqual(player0.karma, 419.7), "Error on match"
		self.assertEqual(player0.matches, 6), "Error on match"
		self.assertEqual(player1.karma, 380.3), "Error on match"
		self.assertEqual(player1.matches, 6), "Error on match"

		player0.resetKarma()
		player1.resetKarma()
		match.matchWithoutWinner(player0, player1)
		self.assertEqual(player0.karma, 400), "Error on match"
		self.assertEqual(player0.matches, 1), "Error on match"
		self.assertEqual(player1.karma, 400), "Error on match"
		self.assertEqual(player1.matches, 1), "Error on match"
		self.assertEqual(player1.wins, 0), "Error on match"
		self.assertEqual(player1.losses, 0), "Error on match"

		match.matchWithWinner(player0, player1)
		self.assertEqual(player0.karma, 405), "Error on match"
		self.assertEqual(player0.matches, 2), "Error on match"
		self.assertEqual(player1.karma, 395), "Error on match"
		self.assertEqual(player1.matches, 2), "Error on match"
		
		match.matchWithoutWinner(player0, player1)
		self.assertEqual(player0.karma, 405), "Error on match"
		self.assertEqual(player0.matches, 3), "Error on match"
		self.assertEqual(player1.karma, 395), "Error on match"
		self.assertEqual(player1.matches, 3), "Error on match"

		match.matchWithoutWinner(player0, player1)
		self.assertEqual(player0.karma, 405), "Error on match"
		self.assertEqual(player0.matches, 4), "Error on match"
		self.assertEqual(player1.karma, 395), "Error on match"
		self.assertEqual(player1.matches, 4), "Error on match"