narrow: Rename *narrow_filter to *narrow_predicate.

This is consistent with how we name similar functions on
the frontend, and "filter" is misleading when you are
not dealing with lists.
This commit is contained in:
Steve Howell
2023-06-29 20:41:44 +00:00
committed by Tim Abbott
parent 7cb4c0bdfe
commit c38b72c014
4 changed files with 51 additions and 51 deletions

View File

@@ -1475,7 +1475,7 @@ def do_events_register(
modern_narrow = narrow_dataclasses_from_tuples(narrow)
# Technically we don't need to check this here because
# build_narrow_filter will check it, but it's nicer from an error
# build_narrow_predicate will check it, but it's nicer from an error
# handling perspective to do it before contacting Tornado
check_narrow_for_events(modern_narrow)

View File

@@ -153,14 +153,14 @@ class NarrowPredicate(Protocol):
...
def build_narrow_filter(
def build_narrow_predicate(
narrow: Collection[NarrowTerm],
) -> NarrowPredicate:
"""Changes to this function should come with corresponding changes to
NarrowLibraryTest."""
check_narrow_for_events(narrow)
def narrow_filter(*, message: Dict[str, Any], flags: List[str]) -> bool:
def narrow_predicate(*, message: Dict[str, Any], flags: List[str]) -> bool:
def satisfies_operator(*, operator: str, operand: str) -> bool:
if operator == "stream":
if message["type"] != "stream":
@@ -204,7 +204,7 @@ def build_narrow_filter(
return True
return narrow_filter
return narrow_predicate
LARGER_THAN_MAX_MESSAGE_ID = 10000000000000000

View File

@@ -31,7 +31,7 @@ from zerver.lib.narrow import (
BadNarrowOperatorError,
NarrowBuilder,
NarrowTerm,
build_narrow_filter,
build_narrow_predicate,
exclude_muting_conditions,
find_first_unread_anchor,
is_spectator_compatible,
@@ -592,24 +592,24 @@ class NarrowBuilderTest(ZulipTestCase):
class NarrowLibraryTest(ZulipTestCase):
def test_build_narrow_filter(self) -> None:
narrow_filter = build_narrow_filter([NarrowTerm(operator="stream", operand="devel")])
def test_build_narrow_predicate(self) -> None:
narrow_predicate = build_narrow_predicate([NarrowTerm(operator="stream", operand="devel")])
self.assertTrue(
narrow_filter(
narrow_predicate(
message={"display_recipient": "devel", "type": "stream"},
flags=[],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={"type": "private"},
flags=[],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={"display_recipient": "social", "type": "stream"},
flags=[],
)
@@ -617,35 +617,35 @@ class NarrowLibraryTest(ZulipTestCase):
###
narrow_filter = build_narrow_filter([NarrowTerm(operator="topic", operand="bark")])
narrow_predicate = build_narrow_predicate([NarrowTerm(operator="topic", operand="bark")])
self.assertTrue(
narrow_filter(
narrow_predicate(
message={"type": "stream", "subject": "BarK"},
flags=[],
)
)
self.assertTrue(
narrow_filter(
narrow_predicate(
message={"type": "stream", "topic": "bark"},
flags=[],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={"type": "private"},
flags=[],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={"type": "stream", "subject": "play with tail"},
flags=[],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={"type": "stream", "topic": "play with tail"},
flags=[],
)
@@ -653,7 +653,7 @@ class NarrowLibraryTest(ZulipTestCase):
###
narrow_filter = build_narrow_filter(
narrow_predicate = build_narrow_predicate(
[
NarrowTerm(operator="stream", operand="devel"),
NarrowTerm(operator="topic", operand="python"),
@@ -661,26 +661,26 @@ class NarrowLibraryTest(ZulipTestCase):
)
self.assertTrue(
narrow_filter(
narrow_predicate(
message={"display_recipient": "devel", "type": "stream", "subject": "python"},
flags=[],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={"type": "private"},
flags=[],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={"display_recipient": "devel", "type": "stream", "subject": "java"},
flags=[],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={"display_recipient": "social", "type": "stream"},
flags=[],
)
@@ -688,19 +688,19 @@ class NarrowLibraryTest(ZulipTestCase):
###
narrow_filter = build_narrow_filter(
narrow_predicate = build_narrow_predicate(
[NarrowTerm(operator="sender", operand="hamlet@zulip.com")]
)
self.assertTrue(
narrow_filter(
narrow_predicate(
message={"sender_email": "hamlet@zulip.com"},
flags=[],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={"sender_email": "cordelia@zulip.com"},
flags=[],
)
@@ -708,17 +708,17 @@ class NarrowLibraryTest(ZulipTestCase):
###
narrow_filter = build_narrow_filter([NarrowTerm(operator="is", operand="dm")])
narrow_predicate = build_narrow_predicate([NarrowTerm(operator="is", operand="dm")])
self.assertTrue(
narrow_filter(
narrow_predicate(
message={"type": "private"},
flags=[],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={"type": "stream"},
flags=[],
)
@@ -726,17 +726,17 @@ class NarrowLibraryTest(ZulipTestCase):
###
narrow_filter = build_narrow_filter([NarrowTerm(operator="is", operand="private")])
narrow_predicate = build_narrow_predicate([NarrowTerm(operator="is", operand="private")])
self.assertTrue(
narrow_filter(
narrow_predicate(
message={"type": "private"},
flags=[],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={"type": "stream"},
flags=[],
)
@@ -744,17 +744,17 @@ class NarrowLibraryTest(ZulipTestCase):
###
narrow_filter = build_narrow_filter([NarrowTerm(operator="is", operand="starred")])
narrow_predicate = build_narrow_predicate([NarrowTerm(operator="is", operand="starred")])
self.assertTrue(
narrow_filter(
narrow_predicate(
message={},
flags=["starred"],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={},
flags=["alerted"],
)
@@ -762,17 +762,17 @@ class NarrowLibraryTest(ZulipTestCase):
###
narrow_filter = build_narrow_filter([NarrowTerm(operator="is", operand="alerted")])
narrow_predicate = build_narrow_predicate([NarrowTerm(operator="is", operand="alerted")])
self.assertTrue(
narrow_filter(
narrow_predicate(
message={},
flags=["mentioned"],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={},
flags=["starred"],
)
@@ -780,17 +780,17 @@ class NarrowLibraryTest(ZulipTestCase):
###
narrow_filter = build_narrow_filter([NarrowTerm(operator="is", operand="mentioned")])
narrow_predicate = build_narrow_predicate([NarrowTerm(operator="is", operand="mentioned")])
self.assertTrue(
narrow_filter(
narrow_predicate(
message={},
flags=["mentioned"],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={},
flags=["starred"],
)
@@ -798,17 +798,17 @@ class NarrowLibraryTest(ZulipTestCase):
###
narrow_filter = build_narrow_filter([NarrowTerm(operator="is", operand="unread")])
narrow_predicate = build_narrow_predicate([NarrowTerm(operator="is", operand="unread")])
self.assertTrue(
narrow_filter(
narrow_predicate(
message={},
flags=[],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={},
flags=["read"],
)
@@ -816,31 +816,31 @@ class NarrowLibraryTest(ZulipTestCase):
###
narrow_filter = build_narrow_filter([NarrowTerm(operator="is", operand="resolved")])
narrow_predicate = build_narrow_predicate([NarrowTerm(operator="is", operand="resolved")])
self.assertTrue(
narrow_filter(
narrow_predicate(
message={"type": "stream", "subject": "✔ python"},
flags=[],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={"type": "private"},
flags=[],
)
)
self.assertFalse(
narrow_filter(
narrow_predicate(
message={"type": "stream", "subject": "java"},
flags=[],
)
)
def test_build_narrow_filter_invalid(self) -> None:
def test_build_narrow_predicate_invalid(self) -> None:
with self.assertRaises(JsonableError):
build_narrow_filter([NarrowTerm(operator="invalid_operator", operand="operand")])
build_narrow_predicate([NarrowTerm(operator="invalid_operator", operand="operand")])
def test_is_spectator_compatible(self) -> None:
self.assertTrue(is_spectator_compatible([]))

View File

@@ -39,7 +39,7 @@ from tornado import autoreload
from version import API_FEATURE_LEVEL, ZULIP_MERGE_BASE, ZULIP_VERSION
from zerver.lib.exceptions import JsonableError
from zerver.lib.message import MessageDict
from zerver.lib.narrow import build_narrow_filter, narrow_dataclasses_from_tuples
from zerver.lib.narrow import build_narrow_predicate, narrow_dataclasses_from_tuples
from zerver.lib.notification_data import UserMessageNotificationsData
from zerver.lib.queue import queue_json_publish, retry_event
from zerver.middleware import async_request_timer_restart
@@ -119,7 +119,7 @@ class ClientDescriptor:
self.client_type_name = client_type_name
self._timeout_handle: Any = None # TODO: should be return type of ioloop.call_later
self.narrow = narrow
self.narrow_filter = build_narrow_filter(modern_narrow)
self.narrow_predicate = build_narrow_predicate(modern_narrow)
self.bulk_message_deletion = bulk_message_deletion
self.stream_typing_notifications = stream_typing_notifications
self.user_settings_object = user_settings_object
@@ -230,7 +230,7 @@ class ClientDescriptor:
# older servers that don't support user_topic.
return False
if event["type"] == "message":
return self.narrow_filter(message=event["message"], flags=event["flags"])
return self.narrow_predicate(message=event["message"], flags=event["flags"])
if event["type"] == "typing" and "stream_id" in event:
# Typing notifications for stream messages are only
# delivered if the stream_typing_notifications