mirror of
https://github.com/FAUSheppy/skillbird
synced 2025-12-09 07:58:32 +01:00
fix teambalance query
This commit is contained in:
@@ -150,7 +150,7 @@ def getPlayerRank(playerID):
|
|||||||
except KeyError:
|
except KeyError:
|
||||||
return "N/A"
|
return "N/A"
|
||||||
|
|
||||||
def getBalancedTeams(players, buddies=None, teamCount=2):
|
def getBalancedTeams(players, buddies=None, teamCount=2, useNames=False):
|
||||||
'''Balance a number of players into teams'''
|
'''Balance a number of players into teams'''
|
||||||
|
|
||||||
if teamCount != 2:
|
if teamCount != 2:
|
||||||
@@ -158,17 +158,25 @@ def getBalancedTeams(players, buddies=None, teamCount=2):
|
|||||||
if not players:
|
if not players:
|
||||||
return ValueError("Input contains no players")
|
return ValueError("Input contains no players")
|
||||||
|
|
||||||
if type(players[0]) == str:
|
if useNames:
|
||||||
|
players = [ Player.DummyPlayer(searchPlayerByName(playerID)[0][0]) for playerID in players ]
|
||||||
|
elif type(players[0]) == str:
|
||||||
players = [ Player.DummyPlayer(playerID) for playerID in players]
|
players = [ Player.DummyPlayer(playerID) for playerID in players]
|
||||||
|
|
||||||
sync_from_database(players)
|
sync_from_database(players)
|
||||||
|
|
||||||
arr = sorted(players, key=lambda x: x.rating.mu, reverse=True)
|
sortedPlayers = sorted(players, key=lambda x: x.rating.mu, reverse=True)
|
||||||
|
team1Rating = 0
|
||||||
|
team2Rating = 0
|
||||||
ret = ""
|
ret = ""
|
||||||
i = 0
|
|
||||||
while i < len(arr):
|
for p in sortedPlayers:
|
||||||
ret += "{}|{},".format(players[i].name,(i%2)+2)
|
if team1Rating <= team2Rating:
|
||||||
i += 1
|
ret += "{}|{},".format(p.name, 2)
|
||||||
|
team1Rating += p.rating.mu
|
||||||
|
else:
|
||||||
|
ret += "{}|{},".format(p.name, 3)
|
||||||
|
team2Rating += p.rating.mu
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def qualityForTeams(teamArray, useNames=False):
|
def qualityForTeams(teamArray, useNames=False):
|
||||||
|
|||||||
@@ -46,7 +46,8 @@ def hasChanged():
|
|||||||
@app.route('/getbalancedteams')
|
@app.route('/getbalancedteams')
|
||||||
def getBalancedTeams():
|
def getBalancedTeams():
|
||||||
players = flask.request.args.get("players").split(",")
|
players = flask.request.args.get("players").split(",")
|
||||||
return SB.getBalancedTeams(players)
|
useNames = flask.request.args.get("names")
|
||||||
|
return SB.getBalancedTeams(players, useNames=bool(useNames))
|
||||||
|
|
||||||
@app.route('/quality')
|
@app.route('/quality')
|
||||||
def quality():
|
def quality():
|
||||||
|
|||||||
Reference in New Issue
Block a user