diff --git a/utilities/utils.py b/utilities/utils.py index 9dde5d6..5be80b8 100644 --- a/utilities/utils.py +++ b/utilities/utils.py @@ -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. """ - users_list: "list[str]" = ( - highscores_data.get_guild(guild_id).get_table(table_name).get_category(category_name).get_users() - ) + try: + 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 not user_begin: - return users_list + # if string empty, return all users + if not user_begin: + return users_list - # else find all users that start with user_begin - users = [user for user in users_list if user.lower().startswith(user_begin.lower())] + # else find all users that start with user_begin + 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]": @@ -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. """ - # If no category name, get all users in table. - if category_name is None: - user_set: set = set() + try: + # If no category name, get all users in table. + 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(): - user_set = user_set | set(category.get_users()) + for category in highscores_data.get_guild(guild_id).get_table(table_name).get_categories().values(): + user_set = user_set | set(category.get_users()) - users_list = list(user_set) - else: - users_list: "list[str]" = ( - highscores_data.get_guild(guild_id).get_table(table_name).get_category(category_name).get_users() - ) + users_list = list(user_set) + else: + 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 not user_begin: - return users_list + # if string empty, return all users + if not user_begin: + return users_list - # else find all users that start with user_begin - users = [user for user in users_list if user.lower().startswith(user_begin.lower())] + # else find all users that start with user_begin + 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: