ruff: Fix FURB142 Use of set.add() in a for loop.

This is a preview rule, not yet enabled by default.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg
2024-07-14 12:17:13 -07:00
committed by Tim Abbott
parent 1e9b6445a9
commit 6412c2d630
9 changed files with 54 additions and 57 deletions

View File

@@ -585,37 +585,45 @@ def get_remote_servers_for_support(
remote_servers_query = RemoteZulipServer.objects.order_by("id")
if email_to_search:
remote_servers_set = set(remote_servers_query.filter(contact_email__iexact=email_to_search))
remote_server_billing_users = RemoteServerBillingUser.objects.filter(
email__iexact=email_to_search
).select_related("remote_server")
for server_billing_user in remote_server_billing_users:
remote_servers_set.add(server_billing_user.remote_server)
remote_realm_billing_users = RemoteRealmBillingUser.objects.filter(
email__iexact=email_to_search
).select_related("remote_realm__server")
for realm_billing_user in remote_realm_billing_users:
remote_servers_set.add(realm_billing_user.remote_realm.server)
remote_servers_set = {
*remote_servers_query.filter(contact_email__iexact=email_to_search),
*(
server_billing_user.remote_server
for server_billing_user in RemoteServerBillingUser.objects.filter(
email__iexact=email_to_search
).select_related("remote_server")
),
*(
realm_billing_user.remote_realm.server
for realm_billing_user in RemoteRealmBillingUser.objects.filter(
email__iexact=email_to_search
).select_related("remote_realm__server")
),
}
return sorted(remote_servers_set, key=attrgetter("deactivated"))
if uuid_to_search:
remote_servers_set = set(remote_servers_query.filter(uuid__iexact=uuid_to_search))
remote_realm_matches = RemoteRealm.objects.filter(
uuid__iexact=uuid_to_search
).select_related("server")
for remote_realm in remote_realm_matches:
remote_servers_set.add(remote_realm.server)
remote_servers_set = {
*remote_servers_query.filter(uuid__iexact=uuid_to_search),
*(
remote_realm.server
for remote_realm in RemoteRealm.objects.filter(
uuid__iexact=uuid_to_search
).select_related("server")
),
}
return sorted(remote_servers_set, key=attrgetter("deactivated"))
if hostname_to_search:
remote_servers_set = set(
remote_servers_query.filter(hostname__icontains=hostname_to_search)
)
remote_realm_matches = (
RemoteRealm.objects.filter(host__icontains=hostname_to_search)
).select_related("server")
for remote_realm in remote_realm_matches:
remote_servers_set.add(remote_realm.server)
remote_servers_set = {
*remote_servers_query.filter(hostname__icontains=hostname_to_search),
*(
remote_realm.server
for remote_realm in (
RemoteRealm.objects.filter(host__icontains=hostname_to_search)
).select_related("server")
),
}
return sorted(remote_servers_set, key=attrgetter("deactivated"))
return []

View File

@@ -218,12 +218,10 @@ def convert_channel_data(
invite_only=invite_only,
)
channel_users = set()
for username in channel_admins_map[stream_name]:
channel_users.add(user_id_mapper.get(username))
for username in channel_members_map[stream_name]:
channel_users.add(user_id_mapper.get(username))
channel_users = {
*(user_id_mapper.get(username) for username in channel_admins_map[stream_name]),
*(user_id_mapper.get(username) for username in channel_members_map[stream_name]),
}
subscriber_handler.set_info(
users=channel_users,
@@ -260,9 +258,9 @@ def convert_direct_message_group_data(
)
direct_message_group_id = huddle_id_mapper.get(direct_message_group_name)
direct_message_group_dict = build_direct_message_group(direct_message_group_id)
direct_message_group_user_ids = set()
for username in direct_message_group["members"]:
direct_message_group_user_ids.add(user_id_mapper.get(username))
direct_message_group_user_ids = {
user_id_mapper.get(username) for username in direct_message_group["members"]
}
subscriber_handler.set_info(
users=direct_message_group_user_ids,
direct_message_group_id=direct_message_group_id,

View File

@@ -252,9 +252,9 @@ def convert_direct_message_group_data(
zerver_direct_message_group.append(direct_message_group)
direct_message_group_dict = huddle_id_to_huddle_map[rc_huddle_id]
direct_message_group_user_ids = set()
for rc_user_id in direct_message_group_dict["uids"]:
direct_message_group_user_ids.add(user_id_mapper.get(rc_user_id))
direct_message_group_user_ids = {
user_id_mapper.get(rc_user_id) for rc_user_id in direct_message_group_dict["uids"]
}
subscriber_handler.set_info(
users=direct_message_group_user_ids,
direct_message_group_id=direct_message_group_id,

View File

@@ -251,7 +251,5 @@ def bulk_create_streams(realm: Realm, stream_dict: dict[str, dict[str, Any]]) ->
def create_users(
realm: Realm, name_list: Iterable[tuple[str, str]], bot_type: int | None = None
) -> None:
user_set = set()
for full_name, email in name_list:
user_set.add((email, full_name, True))
user_set = {(email, full_name, True) for full_name, email in name_list}
bulk_create_users(realm, user_set, bot_type)

View File

@@ -156,10 +156,9 @@ def bulk_fetch_user_display_recipients(
)
# Find all user ids whose UserProfiles we will need to fetch:
user_ids_to_fetch: set[int] = set()
for ignore_recipient_id, ignore_recipient_type, user_id in personal_tuples:
user_ids_to_fetch.add(user_id)
user_ids_to_fetch = {
user_id for ignore_recipient_id, ignore_recipient_type, user_id in personal_tuples
}
for recipient_id in direct_message_group_recipient_ids:
direct_message_group_user_ids = huddle_recipient_id_to_user_ids[recipient_id]

View File

@@ -83,9 +83,7 @@ def create_users(
bot_type: int | None = None,
bot_owner: UserProfile | None = None,
) -> None:
user_set = set()
for full_name, email in name_list:
user_set.add((email, full_name, True))
user_set = {(email, full_name, True) for full_name, email in name_list}
bulk_create_users(
realm, user_set, bot_type=bot_type, bot_owner=bot_owner, tos_version=tos_version
)

View File

@@ -354,8 +354,7 @@ def destroy_leaked_test_databases(expiry_time: int = 60 * 60) -> int:
for file in files:
if round(time.time()) - os.path.getmtime(file) < expiry_time:
with open(file) as f:
for line in f:
databases_in_use.add(f"zulip_test_template_{line}".rstrip())
databases_in_use.update(f"zulip_test_template_{line}".rstrip() for line in f)
else:
# Any test-backend run older than expiry_time can be
# cleaned up, both the database and the file listing its

View File

@@ -1256,12 +1256,10 @@ class RealmImportExportTest(ExportFile):
def custom_profile_field_values_for(
fields: Iterable[CustomProfileField],
) -> set[frozenset[str]]:
user_emails: set[frozenset[str]] = set()
for field in fields:
values = CustomProfileFieldValue.objects.filter(field=field)
for value in values:
user_emails.add(frozenset(get_email_from_value(value)))
return user_emails
return {
frozenset(get_email_from_value(value))
for value in CustomProfileFieldValue.objects.filter(field__in=fields)
}
field_names, field_hints = (set() for i in range(2))
for field in fields:

View File

@@ -41,8 +41,7 @@ def create_mirrored_message_users(
sender_email = sender.strip().lower()
referenced_users = {sender_email}
if recipient_type_name == "private":
for email in recipients:
referenced_users.add(email.lower())
referenced_users.update(email.lower() for email in recipients)
if client.name == "zephyr_mirror":
user_check = same_realm_zephyr_user