mirror of https://github.com/zulip/zulip.git
stream_traffic: Update get_streams_traffic to return None for zephyr realm.
Instead of having a "realm.is_zephyr_mirror_realm" check for every get_streams_traffic call, this commit udpates get_streams_traffic to accept realm as parameter and return "None" for zephyr mirror realm.
This commit is contained in:
parent
7b256f019a
commit
6776e380b2
|
@ -210,10 +210,7 @@ def do_reactivate_stream(
|
||||||
event_time=timezone_now(),
|
event_time=timezone_now(),
|
||||||
)
|
)
|
||||||
|
|
||||||
recent_traffic = None
|
recent_traffic = get_streams_traffic({stream.id}, realm)
|
||||||
if not realm.is_zephyr_mirror_realm:
|
|
||||||
# We do not need stream traffic data for streams in zephyr mirroring realm.
|
|
||||||
recent_traffic = get_streams_traffic({stream.id})
|
|
||||||
|
|
||||||
# All admins always get to know about private streams' existence,
|
# All admins always get to know about private streams' existence,
|
||||||
# but we only subscribe the realm owners.
|
# but we only subscribe the realm owners.
|
||||||
|
@ -443,11 +440,8 @@ def send_stream_creation_events_for_previously_inaccessible_streams(
|
||||||
altered_user_dict: Dict[int, Set[int]],
|
altered_user_dict: Dict[int, Set[int]],
|
||||||
altered_guests: Set[int],
|
altered_guests: Set[int],
|
||||||
) -> None:
|
) -> None:
|
||||||
recent_traffic = None
|
stream_ids = set(altered_user_dict.keys())
|
||||||
if not realm.is_zephyr_mirror_realm:
|
recent_traffic = get_streams_traffic(stream_ids, realm)
|
||||||
# We do not need stream traffic data for streams in zephyr mirroring realm.
|
|
||||||
stream_ids = set(altered_user_dict.keys())
|
|
||||||
recent_traffic = get_streams_traffic(stream_ids)
|
|
||||||
|
|
||||||
for stream_id, stream_users_ids in altered_user_dict.items():
|
for stream_id, stream_users_ids in altered_user_dict.items():
|
||||||
stream = stream_dict[stream_id]
|
stream = stream_dict[stream_id]
|
||||||
|
@ -1046,10 +1040,7 @@ def do_change_stream_permission(
|
||||||
non_guest_user_ids = set(active_non_guest_user_ids(stream.realm_id))
|
non_guest_user_ids = set(active_non_guest_user_ids(stream.realm_id))
|
||||||
notify_stream_creation_ids = non_guest_user_ids - old_can_access_stream_user_ids
|
notify_stream_creation_ids = non_guest_user_ids - old_can_access_stream_user_ids
|
||||||
|
|
||||||
recent_traffic = None
|
recent_traffic = get_streams_traffic({stream.id}, realm)
|
||||||
if not realm.is_zephyr_mirror_realm:
|
|
||||||
# We do not need stream traffic data for streams in zephyr mirroing realm.
|
|
||||||
recent_traffic = get_streams_traffic({stream.id})
|
|
||||||
send_stream_creation_event(realm, stream, list(notify_stream_creation_ids), recent_traffic)
|
send_stream_creation_event(realm, stream, list(notify_stream_creation_ids), recent_traffic)
|
||||||
|
|
||||||
# Add subscribers info to the stream object. We need to send peer_add
|
# Add subscribers info to the stream object. We need to send peer_add
|
||||||
|
|
|
@ -6,9 +6,16 @@ from django.utils.timezone import now as timezone_now
|
||||||
|
|
||||||
from analytics.lib.counts import COUNT_STATS
|
from analytics.lib.counts import COUNT_STATS
|
||||||
from analytics.models import StreamCount
|
from analytics.models import StreamCount
|
||||||
|
from zerver.models import Realm
|
||||||
|
|
||||||
|
|
||||||
def get_streams_traffic(stream_ids: Set[int]) -> Dict[int, int]:
|
def get_streams_traffic(
|
||||||
|
stream_ids: Set[int], realm: Optional[Realm] = None
|
||||||
|
) -> Optional[Dict[int, int]]:
|
||||||
|
if realm is not None and realm.is_zephyr_mirror_realm:
|
||||||
|
# We do not need traffic data for streams in zephyr mirroring realm.
|
||||||
|
return None
|
||||||
|
|
||||||
stat = COUNT_STATS["messages_in_stream:is_bot:day"]
|
stat = COUNT_STATS["messages_in_stream:is_bot:day"]
|
||||||
traffic_from = timezone_now() - datetime.timedelta(days=28)
|
traffic_from = timezone_now() - datetime.timedelta(days=28)
|
||||||
|
|
||||||
|
|
|
@ -941,11 +941,8 @@ def do_get_streams(
|
||||||
# Don't bother going to the database with no valid sources
|
# Don't bother going to the database with no valid sources
|
||||||
return []
|
return []
|
||||||
|
|
||||||
recent_traffic = None
|
stream_ids = {stream.id for stream in streams}
|
||||||
if not user_profile.realm.is_zephyr_mirror_realm:
|
recent_traffic = get_streams_traffic(stream_ids, user_profile.realm)
|
||||||
# We do not need stream traffic data for streams in zephyr mirroring realm.
|
|
||||||
stream_ids = {stream.id for stream in streams}
|
|
||||||
recent_traffic = get_streams_traffic(stream_ids)
|
|
||||||
|
|
||||||
stream_dicts = [stream_to_dict(stream, recent_traffic) for stream in streams]
|
stream_dicts = [stream_to_dict(stream, recent_traffic) for stream in streams]
|
||||||
stream_dicts.sort(key=lambda elt: elt["name"])
|
stream_dicts.sort(key=lambda elt: elt["name"])
|
||||||
|
|
|
@ -431,6 +431,7 @@ def gather_subscriptions_helper(
|
||||||
|
|
||||||
traffic_stream_ids = {get_stream_id(sub_dict) for sub_dict in sub_dicts}
|
traffic_stream_ids = {get_stream_id(sub_dict) for sub_dict in sub_dicts}
|
||||||
recent_traffic = get_streams_traffic(stream_ids=traffic_stream_ids)
|
recent_traffic = get_streams_traffic(stream_ids=traffic_stream_ids)
|
||||||
|
assert recent_traffic is not None
|
||||||
|
|
||||||
# Okay, now we finally get to populating our main results, which
|
# Okay, now we finally get to populating our main results, which
|
||||||
# will be these three lists.
|
# will be these three lists.
|
||||||
|
|
|
@ -895,10 +895,7 @@ def get_stream_backend(
|
||||||
) -> HttpResponse:
|
) -> HttpResponse:
|
||||||
(stream, sub) = access_stream_by_id(user_profile, stream_id, allow_realm_admin=True)
|
(stream, sub) = access_stream_by_id(user_profile, stream_id, allow_realm_admin=True)
|
||||||
|
|
||||||
recent_traffic = None
|
recent_traffic = get_streams_traffic({stream.id}, user_profile.realm)
|
||||||
if not user_profile.realm.is_zephyr_mirror_realm:
|
|
||||||
# We do not need stream traffic data in zephyr mirroring realm.
|
|
||||||
recent_traffic = get_streams_traffic({stream.id})
|
|
||||||
return json_success(request, data={"stream": stream_to_dict(stream, recent_traffic)})
|
return json_success(request, data={"stream": stream_to_dict(stream, recent_traffic)})
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue