From beedf946c9fe68a53da0b8a5f026d7d2bf00a700 Mon Sep 17 00:00:00 2001 From: alwayscompiling Date: Wed, 27 Jul 2022 22:26:16 -0400 Subject: [PATCH] Update delete scores to new HighscoresData class. --- cogs/delete_scores/__init__.py | 14 +++----------- utilities/highscores_data.py | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/cogs/delete_scores/__init__.py b/cogs/delete_scores/__init__.py index 854f010..0d4ad35 100644 --- a/cogs/delete_scores/__init__.py +++ b/cogs/delete_scores/__init__.py @@ -6,8 +6,8 @@ from nextcord import Embed from nextcord.ext import commands from highscores import highscores_data # pylint: disable=import-error -from utilities.data_storage import save_highscores_data # pylint: disable=import-error -from utilities.data_storage import create_highscore_skeleton # pylint: disable=import-error +from utilities.highscores_data import save_highscores_data # pylint: disable=import-error +from utilities.highscores_data import create_highscore_skeleton # pylint: disable=import-error class DeleteScores(commands.Cog, name="Delete Scores"): @@ -31,15 +31,7 @@ class DeleteScores(commands.Cog, name="Delete Scores"): # only allow AlwaysCompiling to use. # If you are a developer and want to use command, can add name to list if ctx.author.id == 206602713511886849: - guild_data: dict = highscores_data[str(ctx.guild.id)] - - for boss, boss_data in guild_data["tables"].items(): - for category, category_data in boss_data["categories"].items(): - category_data = [] - boss_data["categories"][category] = category_data - guild_data["tables"][boss] = boss_data - - save_highscores_data(highscores_data) + highscores_data.reset_guild_data(ctx.guild.id) # This function will be called when this extension is loaded. diff --git a/utilities/highscores_data.py b/utilities/highscores_data.py index e0c1fbc..c199be4 100644 --- a/utilities/highscores_data.py +++ b/utilities/highscores_data.py @@ -149,6 +149,22 @@ class HighscoresData: """ return self._data[str(guild_id)]["tables"][table]["message_id"] + def reset_guild_data(self, guild_id: int) -> None: + """ + Resets highscore data for a guild. Should only be used for development really... + + @param guild_id: guild id to reset data for + """ + guild_data: dict = self._data[str(guild_id)] + + for boss, boss_data in guild_data["tables"].items(): + for category, category_data in boss_data["categories"].items(): + category_data = [] + boss_data["categories"][category] = category_data + guild_data["tables"][boss] = boss_data + self._data[str(guild_id)] = guild_data + save_highscores_data(self._data) + def set_table_message_id(self, guild_id: int, table: str, message_id: int) -> None: """ Sets the message id for given guild's table.