Added a to_str function for all classes. __str__ function uses it. highscores_data uses the to_str function for saving.

This commit is contained in:
alwayscompiling
2022-08-03 22:35:27 -04:00
parent 66ace947c6
commit 6f4322bf6a
5 changed files with 41 additions and 5 deletions
+10 -1
View File
@@ -30,7 +30,7 @@ class Category:
Returns: Returns:
str: Category class as a string str: Category class as a string
""" """
return json.dumps(self.to_dict(), indent=4) return self.to_str()
@classmethod @classmethod
def from_dict(cls, name: str, data: dict): def from_dict(cls, name: str, data: dict):
@@ -158,3 +158,12 @@ class Category:
data["scores"][score.user] = score.value data["scores"][score.user] = score.value
return data return data
def to_str(self) -> str:
"""
Returns Category object as a string.
Returns:
str: string of json representation of Category
"""
return json.dumps(self.to_dict(), indent=4)
+10 -1
View File
@@ -31,7 +31,7 @@ class Guild:
Returns: Returns:
str: Guild class as a string str: Guild class as a string
""" """
return json.dumps(self.to_dict(), indent=4) return self.to_str()
@classmethod @classmethod
def from_dict(cls, guild_id: int, data: dict): def from_dict(cls, guild_id: int, data: dict):
@@ -226,3 +226,12 @@ class Guild:
data["tables"][table.name] = table.to_dict() data["tables"][table.name] = table.to_dict()
return data return data
def to_str(self) -> str:
"""
Returns Guild object as a string.
Returns:
str: string of json representation of Guild
"""
return json.dumps(self.to_dict(), indent=4)
+1 -1
View File
@@ -125,4 +125,4 @@ class HighscoresData:
with open( with open(
f"{HIGHSCORES_DATA_DIR}/{guild.guild_id}.json", encoding="utf-8", mode="w" f"{HIGHSCORES_DATA_DIR}/{guild.guild_id}.json", encoding="utf-8", mode="w"
) as file: ) as file:
file.write(guild) # should use str function file.write(guild.to_str()) # should use str function
+10 -1
View File
@@ -26,7 +26,7 @@ class Score:
Returns: Returns:
str: Score class as a string str: Score class as a string
""" """
return f"{self.user}: {self.get_str()}" return self.to_str()
@property @property
def user(self) -> str: def user(self) -> str:
@@ -67,6 +67,15 @@ class Score:
""" """
return str(self._value) return str(self._value)
def to_str(self) -> str:
"""
Returns Score object as a string.
Returns:
str: string of json representation of Score
"""
return f"{self.user}: {self.get_str()}"
class ScoreTime(Score): class ScoreTime(Score):
"""Class for a time based score. Inherits from Score.""" """Class for a time based score. Inherits from Score."""
+10 -1
View File
@@ -28,7 +28,7 @@ class Table:
Returns: Returns:
str: Table class as a string str: Table class as a string
""" """
return json.dumps(self.to_dict(), indent=4) return self.to_str()
@classmethod @classmethod
def from_dict(cls, table_name: str, data: dict): def from_dict(cls, table_name: str, data: dict):
@@ -129,3 +129,12 @@ class Table:
data["categories"][category.name] = category.to_dict() data["categories"][category.name] = category.to_dict()
return data return data
def to_str(self) -> str:
"""
Returns Table object as a string.
Returns:
str: string of json representation of Table
"""
return json.dumps(self.to_dict(), indent=4)