From 0075c6cd56b8df5dc650ffab5cc0129e77e68217 Mon Sep 17 00:00:00 2001 From: Tim Abbott Date: Tue, 18 Feb 2020 16:38:34 -0800 Subject: [PATCH] do_update_message: Clean up timestamp code. By moving this logic to the topic of the functon, we make the code a lot more readable. --- zerver/lib/actions.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/zerver/lib/actions.py b/zerver/lib/actions.py index 8780f3ef47..a9e12add13 100644 --- a/zerver/lib/actions.py +++ b/zerver/lib/actions.py @@ -4493,15 +4493,22 @@ def do_update_message(user_profile: UserProfile, message: Message, topic_name: O With topic edits, propagate_mode determines whether other message also have their topics edited. """ + timestamp = timezone_now() + message.last_edit_time = timestamp + event = {'type': 'update_message', # TODO: We probably want to remove the 'sender' field # after confirming it isn't used by any consumers. 'sender': user_profile.email, 'user_id': user_profile.id, + 'edit_timestamp': datetime_to_timestamp(timestamp), 'message_id': message.id} # type: Dict[str, Any] + edit_history_event = { 'user_id': user_profile.id, + 'timestamp': event['edit_timestamp'], } # type: Dict[str, Any] + changed_messages = [message] stream_being_edited = None @@ -4598,10 +4605,6 @@ def do_update_message(user_profile: UserProfile, message: Message, topic_name: O changed_messages += messages_list - message.last_edit_time = timezone_now() - assert message.last_edit_time is not None # assert needed because stubs for django are missing - event['edit_timestamp'] = datetime_to_timestamp(message.last_edit_time) - edit_history_event['timestamp'] = event['edit_timestamp'] if message.edit_history is not None: edit_history = ujson.loads(message.edit_history) edit_history.insert(0, edit_history_event)