diff --git a/data/highscores_data.py b/data/highscores_data.py index 6a01444..2ed42f3 100644 --- a/data/highscores_data.py +++ b/data/highscores_data.py @@ -108,10 +108,21 @@ class HighscoresData: guild_obj: Guild = Guild.from_dict(guild_id, json.load(file)) self._guild_map[guild_obj.guild_id] = guild_obj - def save_highscores_data(self): + def save_all_data(self) -> None: """ - Saves each Guild object into its own json data file. + Calls save_guild_data for each guild tracked in guild map. """ - for guild_id, guild_obj in self._guild_map.items(): - with open(f"{HIGHSCORES_DATA_DIR}/{guild_id}.json", encoding="utf-8", mode="w") as file: - file.write(guild_obj) # should use str function + for guild in self.guilds: + self.save_guild_data(guild) + + def save_guild_data(self, guild: Guild) -> None: + """ + Saves a guild to its own json file. + + Args: + guild (Guild): Guild to save + """ + with open( + f"{HIGHSCORES_DATA_DIR}/{guild.guild_id}.json", encoding="utf-8", mode="w" + ) as file: + file.write(guild) # should use str function