From 104fdd8bf9d6114dd8cc5821f108dbd9472de822 Mon Sep 17 00:00:00 2001 From: jkiely Date: Thu, 17 May 2018 12:12:50 -0400 Subject: [PATCH] mypy: enable strict optional for lib/message. Add assert in order to pass checks under strict conditions. --- mypy.ini | 2 +- zerver/lib/message.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/mypy.ini b/mypy.ini index e2e675df11..43af608d41 100644 --- a/mypy.ini +++ b/mypy.ini @@ -320,7 +320,7 @@ strict_optional = True [mypy-zerver.lib.bugdown.api_arguments_table_generator] #18: error: Item "None" of "Optional[Dict[str, Any]]" has no attribute "items" strict_optional = True [mypy-zerver.lib.message] #868: error: Unsupported operand types for - ("Optional[int]" and "int") -strict_optional = False +strict_optional = True [mypy-zerver.migrations.0077_add_file_name_field_to_realm_emoji] #73: error: Argument 2 to "upload_files" of "Uploader" has incompatible type "Optional[bytes]"; expected "bytes" strict_optional = False diff --git a/zerver/lib/message.py b/zerver/lib/message.py index d859d412cb..f2a063410a 100644 --- a/zerver/lib/message.py +++ b/zerver/lib/message.py @@ -893,6 +893,8 @@ def maybe_update_first_visible_message_id(realm: Realm, lookback_hours: int) -> def update_first_visible_message_id(realm: Realm) -> None: try: + # We have verified that the limit is not none before calling this function. + assert realm.message_visibility_limit is not None first_visible_message_id = Message.objects.filter(sender__realm=realm).values('id').\ order_by('-id')[realm.message_visibility_limit - 1]["id"] except IndexError: