Small rewrite to consolidate autofill_user function. Sort imports in message_management.py.
This commit is contained in:
+19
-11
@@ -3,11 +3,12 @@ Contains various utlity functions for highscores bot
|
||||
"""
|
||||
|
||||
import nextcord
|
||||
from highscores import highscores_data, highscores_message_map # pylint: disable=import-error
|
||||
from classes.score import Score # pylint: disable=import-error
|
||||
from classes.guild import Guild # pylint: disable=import-error
|
||||
|
||||
from classes.category import Category # pylint: disable=import-error
|
||||
from classes.guild import Guild # pylint: disable=import-error
|
||||
from classes.score import Score # pylint: disable=import-error
|
||||
from classes.table import Table # pylint: disable=import-error
|
||||
from highscores import highscores_data, highscores_message_map # pylint: disable=import-error
|
||||
|
||||
|
||||
def autofill_categories(guild_id: int, table_name: str, category_begin: str) -> "list[str]":
|
||||
@@ -86,26 +87,33 @@ def autofill_tables(guild_id: int, table_begin: str) -> "list[str]":
|
||||
return tables
|
||||
|
||||
|
||||
def autofill_table_users(guild_id: int, table_name: str, user_begin: str) -> "list[str]":
|
||||
def autofill_users(guild_id: int, table_name: str, category_name: str, user_begin: str) -> "list[str]":
|
||||
"""
|
||||
Gathers all users in a table's categories and performs autofill function on it. This is an expensive
|
||||
function.
|
||||
Returns list of users that match user_begin. Either all users in table or just users in category if category is
|
||||
None. Might be sexpensive due to unioning all users in table.
|
||||
|
||||
Args:
|
||||
guild_id (int): Guild id corresponding to table and category.
|
||||
table_name (str): Table to look in for categories.
|
||||
table_name (str): Table to look in for category.
|
||||
category_name (str): Category to look in for users. Can be None if not looking for category.
|
||||
user_begin (str): Beginning of user name to search with. Can be empty.
|
||||
|
||||
Returns:
|
||||
list[str]: List of users that start with user_begin.
|
||||
"""
|
||||
|
||||
user_set: set
|
||||
# If no category name, get all users in table.
|
||||
if category_name is None:
|
||||
user_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)
|
||||
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:
|
||||
|
||||
Reference in New Issue
Block a user