Skip to content

Commit

Permalink
Reverted sorting changes for Live Rankings due to issues in testing.
Browse files Browse the repository at this point in the history
  • Loading branch information
TheMaximum committed Aug 30, 2023
1 parent 6aa848d commit 68b0f3c
Showing 1 changed file with 14 additions and 15 deletions.
29 changes: 14 additions & 15 deletions pyplanet/apps/contrib/live_rankings/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -273,25 +273,24 @@ async def player_finish(self, player, race_time, lap_time, cps, flow, is_end_rac
current_finishes[0]['score'] = race_time
append_finish = False

new_finish = dict(login=player.login, nickname=player.nickname, score=race_time, points_added=0)
if append_finish:
new_finish = dict(login=player.login, nickname=player.nickname, score=race_time, points_added=0)
self.current_finishes.append(new_finish)
self.current_finishes.sort(key=lambda x: (x['score']))
else:
self.current_finishes.sort(key=lambda x: (x['score']))

if not self.is_warming_up:
for current_finish_index in range(len(self.current_finishes)):
current_finish = self.current_finishes[current_finish_index]
if len(self.points_repartition) > current_finish_index:
current_finish['points_added'] = self.points_repartition[current_finish_index]
else:
current_finish['points_added'] = self.points_repartition[(len(self.points_repartition) - 1)]

current_ranking = next((item for item in self.current_rankings if item['login'] == player.login), None)
if current_ranking is not None:
current_ranking['points_added'] = new_finish['points_added']
else:
new_ranking = dict(login=player.login, nickname=player.nickname, score=0, points_added=new_finish['points_added'])
self.current_rankings.append(new_ranking)
new_finish_rank = len(self.current_finishes) - 1
new_finish['points_added'] = self.points_repartition[new_finish_rank] \
if len(self.points_repartition) > new_finish_rank \
else self.points_repartition[(len(self.points_repartition) - 1)]

current_ranking = next((item for item in self.current_rankings if item['login'] == player.login), None)
if current_ranking is not None:
current_ranking['points_added'] = new_finish['points_added']
else:
new_finish['score'] = 0
self.current_rankings.append(new_finish)

self.current_rankings.sort(key=lambda x: (-x['score'], -x['points_added']))
await self.widget.display()
Expand Down

0 comments on commit 68b0f3c

Please sign in to comment.