Skip to content

Commit 3898c38

Browse files
committed
filter for active leaderboards
1 parent bc5ab2c commit 3898c38

2 files changed

Lines changed: 9 additions & 3 deletions

File tree

src/discord-cluster-manager/discord_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ async def leaderboard_name_autocomplete(
9494
return cached_value
9595

9696
with bot.leaderboard_db as db:
97-
leaderboards = db.get_leaderboard_names()
97+
leaderboards = db.get_leaderboard_names(active_only=True)
9898
filtered = [lb for lb in leaderboards if current.lower() in lb.lower()]
9999
name_cache[current] = [
100100
discord.app_commands.Choice(name=name, value=name) for name in filtered[:25]

src/discord-cluster-manager/leaderboard_db.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,8 +393,14 @@ def create_submission_run(
393393
self.connection.rollback() # Ensure rollback if error occurs
394394
raise KernelBotError("Could not create leaderboard submission entry in database") from e
395395

396-
def get_leaderboard_names(self) -> list[str]:
397-
self.cursor.execute("SELECT name FROM leaderboard.leaderboard")
396+
def get_leaderboard_names(self, active_only: bool = False) -> list[str]:
397+
if active_only:
398+
self.cursor.execute(
399+
"SELECT name FROM leaderboard.leaderboard WHERE leaderboard.deadline < %s",
400+
(datetime.datetime.now().astimezone(datetime.timezone.utc),),
401+
)
402+
else:
403+
self.cursor.execute("SELECT name FROM leaderboard.leaderboard")
398404
return [x[0] for x in self.cursor.fetchall()]
399405

400406
def get_leaderboards(self) -> list["LeaderboardItem"]:

0 commit comments

Comments
 (0)