mirror of https://github.com/zulip/zulip.git
muted_stream_ids: Use set for O(1) search operation.
Update 'get_muted_stream_ids' to return a set of IDs instead of a list. This will help to avoid linear time search operations later while using 'if stream_id in muted_streams_ids'.
This commit is contained in:
parent
faa98317bc
commit
a18a526427
|
@ -110,7 +110,7 @@ class RawUnreadMessagesResult(TypedDict):
|
||||||
stream_dict: Dict[int, RawUnreadStreamDict]
|
stream_dict: Dict[int, RawUnreadStreamDict]
|
||||||
huddle_dict: Dict[int, RawUnreadHuddleDict]
|
huddle_dict: Dict[int, RawUnreadHuddleDict]
|
||||||
mentions: Set[int]
|
mentions: Set[int]
|
||||||
muted_stream_ids: List[int]
|
muted_stream_ids: Set[int]
|
||||||
unmuted_stream_msgs: Set[int]
|
unmuted_stream_msgs: Set[int]
|
||||||
old_unreads_missing: bool
|
old_unreads_missing: bool
|
||||||
|
|
||||||
|
@ -1014,7 +1014,7 @@ def get_inactive_recipient_ids(user_profile: UserProfile) -> List[int]:
|
||||||
return inactive_recipient_ids
|
return inactive_recipient_ids
|
||||||
|
|
||||||
|
|
||||||
def get_muted_stream_ids(user_profile: UserProfile) -> List[int]:
|
def get_muted_stream_ids(user_profile: UserProfile) -> Set[int]:
|
||||||
rows = (
|
rows = (
|
||||||
get_stream_subscriptions_for_user(user_profile)
|
get_stream_subscriptions_for_user(user_profile)
|
||||||
.filter(
|
.filter(
|
||||||
|
@ -1025,7 +1025,7 @@ def get_muted_stream_ids(user_profile: UserProfile) -> List[int]:
|
||||||
"recipient__type_id",
|
"recipient__type_id",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
muted_stream_ids = [row["recipient__type_id"] for row in rows]
|
muted_stream_ids = {row["recipient__type_id"] for row in rows}
|
||||||
return muted_stream_ids
|
return muted_stream_ids
|
||||||
|
|
||||||
|
|
||||||
|
@ -1090,6 +1090,7 @@ def extract_unread_data_from_um_rows(
|
||||||
) -> RawUnreadMessagesResult:
|
) -> RawUnreadMessagesResult:
|
||||||
pm_dict: Dict[int, RawUnreadDirectMessageDict] = {}
|
pm_dict: Dict[int, RawUnreadDirectMessageDict] = {}
|
||||||
stream_dict: Dict[int, RawUnreadStreamDict] = {}
|
stream_dict: Dict[int, RawUnreadStreamDict] = {}
|
||||||
|
muted_stream_ids: Set[int] = set()
|
||||||
unmuted_stream_msgs: Set[int] = set()
|
unmuted_stream_msgs: Set[int] = set()
|
||||||
huddle_dict: Dict[int, RawUnreadHuddleDict] = {}
|
huddle_dict: Dict[int, RawUnreadHuddleDict] = {}
|
||||||
mentions: Set[int] = set()
|
mentions: Set[int] = set()
|
||||||
|
@ -1098,7 +1099,7 @@ def extract_unread_data_from_um_rows(
|
||||||
raw_unread_messages: RawUnreadMessagesResult = dict(
|
raw_unread_messages: RawUnreadMessagesResult = dict(
|
||||||
pm_dict=pm_dict,
|
pm_dict=pm_dict,
|
||||||
stream_dict=stream_dict,
|
stream_dict=stream_dict,
|
||||||
muted_stream_ids=[],
|
muted_stream_ids=muted_stream_ids,
|
||||||
unmuted_stream_msgs=unmuted_stream_msgs,
|
unmuted_stream_msgs=unmuted_stream_msgs,
|
||||||
huddle_dict=huddle_dict,
|
huddle_dict=huddle_dict,
|
||||||
mentions=mentions,
|
mentions=mentions,
|
||||||
|
@ -1109,7 +1110,6 @@ def extract_unread_data_from_um_rows(
|
||||||
return raw_unread_messages
|
return raw_unread_messages
|
||||||
|
|
||||||
muted_stream_ids = get_muted_stream_ids(user_profile)
|
muted_stream_ids = get_muted_stream_ids(user_profile)
|
||||||
raw_unread_messages["muted_stream_ids"] = muted_stream_ids
|
|
||||||
|
|
||||||
get_topic_visibility_policy = build_get_topic_visibility_policy(user_profile)
|
get_topic_visibility_policy = build_get_topic_visibility_policy(user_profile)
|
||||||
|
|
||||||
|
|
|
@ -1611,7 +1611,7 @@ class MarkUnreadTest(ZulipTestCase):
|
||||||
stream_dict={},
|
stream_dict={},
|
||||||
huddle_dict={},
|
huddle_dict={},
|
||||||
mentions=set(),
|
mentions=set(),
|
||||||
muted_stream_ids=[],
|
muted_stream_ids=set(),
|
||||||
unmuted_stream_msgs=set(),
|
unmuted_stream_msgs=set(),
|
||||||
old_unreads_missing=False,
|
old_unreads_missing=False,
|
||||||
)
|
)
|
||||||
|
@ -1633,7 +1633,7 @@ class MarkUnreadTest(ZulipTestCase):
|
||||||
stream_dict={},
|
stream_dict={},
|
||||||
huddle_dict={},
|
huddle_dict={},
|
||||||
mentions=set(),
|
mentions=set(),
|
||||||
muted_stream_ids=[],
|
muted_stream_ids=set(),
|
||||||
unmuted_stream_msgs=set(),
|
unmuted_stream_msgs=set(),
|
||||||
old_unreads_missing=False,
|
old_unreads_missing=False,
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue