fix quality http query

This commit is contained in:
Yannik Schmidt
2020-02-01 10:39:48 +01:00
parent 2190239532
commit 24adb57104
2 changed files with 6 additions and 5 deletions

View File

@@ -171,19 +171,19 @@ def getBalancedTeams(players, buddies=None, teamCount=2):
i += 1 i += 1
return ret return ret
def qualityForTeams(teamArray, useNames=True): def qualityForTeams(teamArray, useNames=False):
'''Get quality for number of teams with players''' '''Get quality for number of teams with players'''
if not teamArray or len(teamArray) < 2 or not teamArray[0]: if not teamArray or len(teamArray) < 2 or not teamArray[0]:
raise ValueError("Team Array must be more than one team with more than one player each") raise ValueError("Team Array must be more than one team with more than one player each")
if useNames: if useNames:
teamArray = [ [ searchPlayerByName(playerID)[0] for playerID in team ] for team in teamArray ] teamArray = [ [ Player.DummyPlayer(searchPlayerByName(playerID)[0][0])
for playerID in team ] for team in teamArray ]
elif type(teamArray[0][0]) == str: elif type(teamArray[0][0]) == str:
teamArray = [ [ Player.DummyPlayer(playerID) for playerID in team ] for team in teamArray ] teamArray = [ [ Player.DummyPlayer(playerID) for playerID in team ] for team in teamArray ]
for team in teamArray: for team in teamArray:
print(team[0].steamid)
sync_from_database(team) sync_from_database(team)
teamAsRatings = [ [ player.rating for player in team ] for team in teamArray ] teamAsRatings = [ [ player.rating for player in team ] for team in teamArray ]
@@ -205,7 +205,7 @@ def qualityForRatings(team1, team2, names1 = [""], names2 = [""]):
sig2 = sum(r.sigma for r in team2) sig2 = sum(r.sigma for r in team2)
sigtot = sig1 + sig2 sigtot = sig1 + sig2
print(team1, team2) # print(team1, names1, team2, names2)
diff = abs(mu1 - mu2) diff = abs(mu1 - mu2)
percent = 50 + diff/mu_tot*100 percent = 50 + diff/mu_tot*100

View File

@@ -52,8 +52,9 @@ def getBalancedTeams():
def quality(): def quality():
'''Get a game quality estimate for two or more given teams''' '''Get a game quality estimate for two or more given teams'''
string = flask.request.args.get("playerswithteams") string = flask.request.args.get("playerswithteams")
useNames = flask.request.args.get("names")
teams = string.split("|") teams = string.split("|")
if len(teams) < 2: if len(teams) < 2:
flask.abort("Invalid input string: {}".format(string)) flask.abort("Invalid input string: {}".format(string))
teams = [ x.split(",") for x in teams ] teams = [ x.split(",") for x in teams ]
return SB.qualityForTeams(teams) return SB.qualityForTeams(teams, useNames=bool(useNames))