diff --git a/database.py b/database.py index 2a89aa1..bc64d44 100644 --- a/database.py +++ b/database.py @@ -29,7 +29,7 @@ class DatabaseConnection: '''Get the total number of players in the database''' cursor = self.connPlayers.cursor() - cursor.execute("SELECT Count(*) FROM players") + cursor.execute("SELECT Count(*) FROM players where games >= 10") count = cursor.fetchone()[0] return count @@ -77,7 +77,8 @@ class DatabaseConnection: cursor = self.connPlayers.cursor() limit = end - start - sqlQuery = "Select * FROM players ORDER BY (mu - 2*sigma) DESC LIMIT ? OFFSET ?" + sqlQuery = '''Select * FROM players where games >= 10 + ORDER BY (mu - 2*sigma) DESC LIMIT ? OFFSET ?''' cursor.execute(sqlQuery, (limit, start)) rows = cursor.fetchall() playerList = [] @@ -110,7 +111,9 @@ class DatabaseConnection: can't and shouldn't be used to identify a player''' cursor = self.connPlayers.cursor() - cursor.execute("SELECT COUNT(*) from players where (mu-2*sigma) > (?-2*?);", + if(player.games < 10): + return -1 + cursor.execute("SELECT COUNT(*) from players where games >= 10 and (mu-2*sigma) > (?-2*?);", (player.mu, player.sigma)) rank = cursor.fetchone()[0] return rank diff --git a/server.py b/server.py index 6eee1a7..7258514 100755 --- a/server.py +++ b/server.py @@ -102,6 +102,8 @@ def leaderboard(): if playerName: playerInLeaderboard = db.findPlayerByName(playerName) + if(playerInLeaderboard.games < 10): + return flask.redirect("/player?id={}".format(playerInLeaderboard.playerId)) rank = playerInLeaderboard.rank if not playerInLeaderboard: cannotFindPlayer = flask.Markup("
No player of that name
") diff --git a/templates/player.html b/templates/player.html index a924b18..68bdd7a 100644 --- a/templates/player.html +++ b/templates/player.html @@ -31,7 +31,11 @@

Rating: {{ player.rating }}
- Rank: {{ player.rank }} + {% if player.rank == 0 %} + missing {{ 10 - player.games }} placement games + {% else %} + Rank: {{ player.rank }} + {%endif%}