Catching AttributeError in autofill functions when invalid variables are sent.
This commit is contained in:
+33
-25
@@ -50,18 +50,22 @@ def autofill_category_users(guild_id: int, table_name: str, category_name: str,
|
|||||||
list[str]: List of users that start with user_begin.
|
list[str]: List of users that start with user_begin.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
users_list: "list[str]" = (
|
try:
|
||||||
highscores_data.get_guild(guild_id).get_table(table_name).get_category(category_name).get_users()
|
users_list: "list[str]" = (
|
||||||
)
|
highscores_data.get_guild(guild_id).get_table(table_name).get_category(category_name).get_users()
|
||||||
|
)
|
||||||
|
|
||||||
# if string empty, return all users
|
# if string empty, return all users
|
||||||
if not user_begin:
|
if not user_begin:
|
||||||
return users_list
|
return users_list
|
||||||
|
|
||||||
# else find all users that start with user_begin
|
# else find all users that start with user_begin
|
||||||
users = [user for user in users_list if user.lower().startswith(user_begin.lower())]
|
users = [user for user in users_list if user.lower().startswith(user_begin.lower())]
|
||||||
|
|
||||||
return users
|
return users
|
||||||
|
|
||||||
|
except AttributeError:
|
||||||
|
return []
|
||||||
|
|
||||||
|
|
||||||
def autofill_tables(guild_id: int, table_begin: str) -> "list[str]":
|
def autofill_tables(guild_id: int, table_begin: str) -> "list[str]":
|
||||||
@@ -102,27 +106,31 @@ def autofill_users(guild_id: int, table_name: str, category_name: str, user_begi
|
|||||||
list[str]: List of users that start with user_begin.
|
list[str]: List of users that start with user_begin.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# If no category name, get all users in table.
|
try:
|
||||||
if category_name is None:
|
# If no category name, get all users in table.
|
||||||
user_set: set = set()
|
if category_name is None:
|
||||||
|
user_set: set = set()
|
||||||
|
|
||||||
for category in highscores_data.get_guild(guild_id).get_table(table_name).get_categories().values():
|
for category in highscores_data.get_guild(guild_id).get_table(table_name).get_categories().values():
|
||||||
user_set = user_set | set(category.get_users())
|
user_set = user_set | set(category.get_users())
|
||||||
|
|
||||||
users_list = list(user_set)
|
users_list = list(user_set)
|
||||||
else:
|
else:
|
||||||
users_list: "list[str]" = (
|
users_list: "list[str]" = (
|
||||||
highscores_data.get_guild(guild_id).get_table(table_name).get_category(category_name).get_users()
|
highscores_data.get_guild(guild_id).get_table(table_name).get_category(category_name).get_users()
|
||||||
)
|
)
|
||||||
|
|
||||||
# if string empty, return all users
|
# if string empty, return all users
|
||||||
if not user_begin:
|
if not user_begin:
|
||||||
return users_list
|
return users_list
|
||||||
|
|
||||||
# else find all users that start with user_begin
|
# else find all users that start with user_begin
|
||||||
users = [user for user in users_list if user.lower().startswith(user_begin.lower())]
|
users = [user for user in users_list if user.lower().startswith(user_begin.lower())]
|
||||||
|
|
||||||
return users
|
return users
|
||||||
|
|
||||||
|
except AttributeError:
|
||||||
|
return []
|
||||||
|
|
||||||
|
|
||||||
def format_highscore_message(guild: Guild, table: Table) -> str:
|
def format_highscore_message(guild: Guild, table: Table) -> str:
|
||||||
|
|||||||
Reference in New Issue
Block a user