diff --git a/utilities/utils.py b/utilities/utils.py index 0ade38c..62b394a 100644 --- a/utilities/utils.py +++ b/utilities/utils.py @@ -40,18 +40,18 @@ def autofill_categories(guild_id: int, group_id: int, category_begin: str) -> "d ) cat_group_alias = aliased(CategoryGroup, subq) stmt = select(Category).where(Category.GroupId == cat_group_alias.GroupId) - categories_dict: dict = {cat.CategoryName: str(cat.CategoryId) for cat in session.scalars(stmt)} + categories_dict: "dict[str, str]" = {cat.CategoryName: str(cat.CategoryId) for cat in session.scalars(stmt)} # if string empty, return all category names if not category_begin: - return categories_dict + return dict(list(category_begin.items())[:25]) # else find all categories that start with category_begin # TODO is it better to have sql handle the starts with or python? - categories: dict = { + categories: "dict[str, str]" = { cat_name: cat_id for cat_name, cat_id in categories_dict.items() if category_begin.lower() in cat_name.lower() } - return categories + return dict(list(categories.items())[:25]) def autofill_groups(guild_id: int, group_begin: str) -> "dict[str, str]": @@ -71,18 +71,18 @@ def autofill_groups(guild_id: int, group_begin: str) -> "dict[str, str]": stmt = select(CategoryGroup).where(CategoryGroup.GuildId == guild_id) # dict has to have key values of same type for discord. - group_dict: dict = {group.GroupName: str(group.GroupId) for group in session.scalars(stmt)} + group_dict: "dict[str, str]" = {group.GroupName: str(group.GroupId) for group in session.scalars(stmt)} # if string empty, return all group names if not group_begin: - return group_dict + return dict(list(group_dict.items())[:25]) # else find all groups that start with group_begin - groups: dict = { + groups: "dict[str, str]" = { group_name: group_id for group_name, group_id in group_dict.items() if group_begin.lower() in group_name.lower() } - return groups + return dict(list(groups.items())[:25]) def autofill_users_in_group_category(guild_id: int, group_id: int, category_id: int, user_begin: str) -> "list[str]": @@ -130,12 +130,12 @@ def autofill_users_in_group_category(guild_id: int, group_id: int, category_id: # if string empty, return all users if not user_begin: - return users_list + return users_list[:25] # else find all users that start with user_begin - users = [user for user in users_list if user_begin.lower() in user.lower()] + users: "list[str]" = [user for user in users_list if user_begin.lower() in user.lower()] - return users + return users[:25] def autofill_users_in_guild(guild_id: int, user_begin: str) -> "list[str]": @@ -158,12 +158,12 @@ def autofill_users_in_guild(guild_id: int, user_begin: str) -> "list[str]": # if string empty, return all users if not user_begin: - return users_list + return users_list[:25] # else find all users that start with user_begin - users = [user for user in users_list if user_begin.lower() in user.lower()] + users: "list[str]" = [user for user in users_list if user_begin.lower() in user.lower()] - return users + return users[:25] def format_highscore_message(session: Session, group: CategoryGroup) -> str: