diff --git a/zulipterminal/model.py b/zulipterminal/model.py index 9c6fce61b5..751ce9171e 100644 --- a/zulipterminal/model.py +++ b/zulipterminal/model.py @@ -868,6 +868,19 @@ def topics_in_stream(self, stream_id: int) -> List[str]: return list(self.index["topics"][stream_id]) + def stream_email_address(self, stream_id: int) -> str: + """ + Return a string containing the email address of a stream. + """ + url = f"/streams/{stream_id}/email_address" + + response = self.client.call_endpoint(url, method="GET") + + if response.get("result") == "success": + email_address = response.get("email", "") + return str(email_address) + return "" + @staticmethod def exception_safe_result(future: "Future[str]") -> str: try: diff --git a/zulipterminal/ui_tools/views.py b/zulipterminal/ui_tools/views.py index fcb116480d..20121eae8c 100644 --- a/zulipterminal/ui_tools/views.py +++ b/zulipterminal/ui_tools/views.py @@ -1377,7 +1377,7 @@ def __init__(self, controller: Any, stream_id: int) -> None: else "Not Public to Users" ) member_keys = ", ".join(map(repr, keys_for_command("STREAM_MEMBERS"))) - self.stream_email = stream["email_address"] + self.stream_email = controller.model.stream_email_address(stream_id) email_keys = ", ".join(map(repr, keys_for_command("COPY_STREAM_EMAIL"))) weekly_traffic = stream["stream_weekly_traffic"]