From 3fa595ef85633ea09d0f6c9ddcbee40fcc510e75 Mon Sep 17 00:00:00 2001 From: Steve Howell Date: Tue, 19 Jan 2021 22:32:25 +0000 Subject: [PATCH] minor: Clean up args for apply_event. We now require keywords, so that there is no pitfall for mixing up boolean parameters. Positional parameters are basically evil when you have a bunch of bools. I also make user_profile the first argument. Finally, the code is more diff-friendly. --- docs/tutorials/new-feature-tutorial.md | 5 ++++- zerver/lib/events.py | 25 +++++++++++++++++-------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/docs/tutorials/new-feature-tutorial.md b/docs/tutorials/new-feature-tutorial.md index 89906805ed..57df70d2d7 100644 --- a/docs/tutorials/new-feature-tutorial.md +++ b/docs/tutorials/new-feature-tutorial.md @@ -359,7 +359,10 @@ race conditions. state['realm_allow_message_editing'] = user_profile.realm.allow_message_editing # ... - def apply_event(state, events, user_profile, include_subscribers): + def apply_event + user_profile: UserProfile, + # ... + ) -> None: for event in events: # ... elif event['type'] == 'realm': diff --git a/zerver/lib/events.py b/zerver/lib/events.py index d894b66ba0..4724bd3fce 100644 --- a/zerver/lib/events.py +++ b/zerver/lib/events.py @@ -438,15 +438,24 @@ def apply_events( # `apply_event`. For now, be careful in your choice of # `fetch_event_types`. continue - apply_event(state, event, user_profile, - client_gravatar, slim_presence, include_subscribers) + apply_event( + user_profile, + state=state, + event=event, + client_gravatar=client_gravatar, + slim_presence=slim_presence, + include_subscribers=include_subscribers, + ) -def apply_event(state: Dict[str, Any], - event: Dict[str, Any], - user_profile: UserProfile, - client_gravatar: bool, - slim_presence: bool, - include_subscribers: bool) -> None: +def apply_event( + user_profile: UserProfile, + *, + state: Dict[str, Any], + event: Dict[str, Any], + client_gravatar: bool, + slim_presence: bool, + include_subscribers: bool, +) -> None: if event['type'] == "message": state['max_message_id'] = max(state['max_message_id'], event['message']['id']) if 'raw_unread_msgs' in state: