Create update_username functions for category and table.

This commit is contained in:
alwayscompiling
2022-08-13 20:08:57 -04:00
parent 080356fe9c
commit cb71cbe1d5
3 changed files with 47 additions and 2 deletions
+24
View File
@@ -188,3 +188,27 @@ class Category:
str: string of json representation of Category str: string of json representation of Category
""" """
return json.dumps(self.to_dict(), indent=4) return json.dumps(self.to_dict(), indent=4)
def update_username(self, old_username: str, new_username: str) -> bool:
"""
Checks score map for old username. Pops old username to remove from map.
Updates score's username and calls self.add_score with new score to add back
to map and sort.
Args:
old_username (str): Username to replace
new_username (str): Username to replace with
Returns:
bool: True indicating a score was updated, False otherwise
"""
ret_val: bool = False
if old_username in self._scores_map:
ret_val = True
score: Score = self._scores_map.pop(old_username)
score.user = new_username
self.add_score(score)
return ret_val
+2 -2
View File
@@ -216,8 +216,8 @@ class Guild:
to the table function to update username. to the table function to update username.
Args: Args:
old_username (str): Username to replace. Sent to table function old_username (str): Username to replace. Sent to Table function
new_username (str): Username to replace with. Sent to table function new_username (str): Username to replace with. Sent to Table function
Returns: Returns:
list[Table]: All the tables that had a username updated list[Table]: All the tables that had a username updated
+21
View File
@@ -162,3 +162,24 @@ class Table:
str: string of json representation of Table str: string of json representation of Table
""" """
return json.dumps(self.to_dict(), indent=4) return json.dumps(self.to_dict(), indent=4)
def update_username(self, old_username: str, new_username: str) -> bool:
"""
Calls Category update_username function for each category. Returns true if a category
was updated to inform if the table message needs rewritten.
Args:
old_username (str): Username to replace. Sent to Category function
new_username (str): Username to replace with. Sent to Category function
Returns:
bool: True if category was updated and requires message update
"""
ret_val: bool = False
for category in self.categories:
if category.update_username(old_username, new_username):
ret_val &= True
return ret_val