From cf023b92115779897580f98b701bc1b647fb8c50 Mon Sep 17 00:00:00 2001 From: Yannik Schmidt Date: Sat, 8 Jun 2019 16:06:55 +0200 Subject: [PATCH] add directly cached rank list --- StorrageBackend.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/StorrageBackend.py b/StorrageBackend.py index 3c50e57..540e7ed 100644 --- a/StorrageBackend.py +++ b/StorrageBackend.py @@ -7,6 +7,7 @@ known_players = dict() # care for cpu load # player_ranks = dict() +playerRankList = [] last_rank_update = datetime.now() ############################################################# @@ -57,6 +58,7 @@ def sync_to_database(players, win): def updatePlayerRanks(force=False): global last_rank_update global player_ranks + global playerRankList if force or last_rank_update - datetime.now() > timedelta(seconds=240): last_rank_update = datetime.now() @@ -71,6 +73,10 @@ def updatePlayerRanks(force=False): player_ranks.update({p:rank}) rank += 1 + # list of players in the right order for a leaderboard # + playerRankList = s + + ############################################################# ################## Write/Load External DB ################### ############################################################# @@ -151,3 +157,14 @@ def quality(team1, team2, names1 = [""], names2 = [""]): percent, mu2, mu1, sigtot/diff*100) return string + +def getRankRange(start, end, revalidateRanks=False): + '''Returns a list of player, optionally flushing the ranks-cache first''' + global playerRankList + + if revalidateRanks: + updatePlayerRanks(revalidateRanks) + + return playerRankList[start:end] + +