mirror of https://github.com/zulip/zulip.git
python: Use Python 3.8 typing.{Protocol,TypedDict}.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
parent
098a514599
commit
a2825e5984
|
@ -4,7 +4,7 @@ __revision__ = "$Id: models.py 28 2009-10-22 15:03:02Z jarek.zgoda $"
|
|||
import datetime
|
||||
import secrets
|
||||
from base64 import b32encode
|
||||
from typing import List, Mapping, Optional, Union
|
||||
from typing import List, Mapping, Optional, Protocol, Union
|
||||
from urllib.parse import urljoin
|
||||
|
||||
from django.conf import settings
|
||||
|
@ -16,7 +16,6 @@ from django.http import HttpRequest, HttpResponse
|
|||
from django.shortcuts import render
|
||||
from django.urls import reverse
|
||||
from django.utils.timezone import now as timezone_now
|
||||
from typing_extensions import Protocol
|
||||
|
||||
from zerver.lib.types import UnspecifiedValue
|
||||
from zerver.models import EmailChangeStatus, MultiuseInvite, PreregistrationUser, Realm, UserProfile
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# Django itself
|
||||
Django[argon2]==3.2.*
|
||||
|
||||
# needed for Literal, TypedDict
|
||||
# needed for NotRequired, ParamSpec
|
||||
typing-extensions
|
||||
|
||||
# Needed for rendering backend templates
|
||||
|
|
|
@ -18,9 +18,10 @@ from scripts.lib.setup_path import setup_path
|
|||
setup_path()
|
||||
os.environ["DJANGO_SETTINGS_MODULE"] = "zproject.settings"
|
||||
|
||||
from typing import TypedDict
|
||||
|
||||
import django
|
||||
from django.conf import settings
|
||||
from typing_extensions import TypedDict
|
||||
from urllib3.util import Retry
|
||||
|
||||
django.setup()
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import datetime
|
||||
from typing import Any, Dict, Iterable, List, Optional, Set
|
||||
from typing import Any, Dict, Iterable, List, Optional, Set, TypedDict
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import transaction
|
||||
|
@ -7,7 +7,6 @@ from django.utils.timezone import now as timezone_now
|
|||
from django.utils.translation import gettext as _
|
||||
from django.utils.translation import gettext_lazy
|
||||
from django.utils.translation import override as override_language
|
||||
from typing_extensions import TypedDict
|
||||
|
||||
from zerver.actions.message_flags import do_update_mobile_push_notification
|
||||
from zerver.actions.message_send import (
|
||||
|
|
|
@ -12,6 +12,7 @@ from typing import (
|
|||
Sequence,
|
||||
Set,
|
||||
Tuple,
|
||||
TypedDict,
|
||||
Union,
|
||||
)
|
||||
|
||||
|
@ -24,7 +25,6 @@ from django.utils.html import escape
|
|||
from django.utils.timezone import now as timezone_now
|
||||
from django.utils.translation import gettext as _
|
||||
from django.utils.translation import override as override_language
|
||||
from typing_extensions import TypedDict
|
||||
|
||||
from zerver.actions.uploads import do_claim_attachments
|
||||
from zerver.lib.addressee import Addressee
|
||||
|
|
|
@ -4,12 +4,23 @@ import os
|
|||
import random
|
||||
import shutil
|
||||
from functools import partial
|
||||
from typing import AbstractSet, Any, Callable, Dict, Iterable, List, Optional, Set, Tuple, TypeVar
|
||||
from typing import (
|
||||
AbstractSet,
|
||||
Any,
|
||||
Callable,
|
||||
Dict,
|
||||
Iterable,
|
||||
List,
|
||||
Optional,
|
||||
Protocol,
|
||||
Set,
|
||||
Tuple,
|
||||
TypeVar,
|
||||
)
|
||||
|
||||
import orjson
|
||||
import requests
|
||||
from django.forms.models import model_to_dict
|
||||
from typing_extensions import Protocol
|
||||
|
||||
from zerver.data_import.sequencer import NEXT_ID
|
||||
from zerver.lib.avatar_hash import user_avatar_path_from_ids
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
from typing import Dict, List, Optional, Set, Tuple
|
||||
|
||||
from typing_extensions import TypedDict
|
||||
from typing import Dict, List, Optional, Set, Tuple, TypedDict
|
||||
|
||||
from zerver.lib.cache import (
|
||||
bulk_cached_fetch,
|
||||
|
|
|
@ -14,7 +14,7 @@ import shutil
|
|||
import subprocess
|
||||
import tempfile
|
||||
from functools import lru_cache
|
||||
from typing import Any, Callable, Dict, List, Optional, Set, Tuple
|
||||
from typing import Any, Callable, Dict, List, Optional, Set, Tuple, TypedDict
|
||||
|
||||
import orjson
|
||||
from django.apps import apps
|
||||
|
@ -24,7 +24,6 @@ from django.forms.models import model_to_dict
|
|||
from django.utils.timezone import is_naive as timezone_is_naive
|
||||
from django.utils.timezone import make_aware as timezone_make_aware
|
||||
from mypy_boto3_s3.service_resource import Object
|
||||
from typing_extensions import TypedDict
|
||||
|
||||
import zerver.lib.upload
|
||||
from analytics.models import RealmCount, StreamCount, UserCount
|
||||
|
|
|
@ -21,6 +21,7 @@ from typing import (
|
|||
Pattern,
|
||||
Set,
|
||||
Tuple,
|
||||
TypedDict,
|
||||
TypeVar,
|
||||
Union,
|
||||
)
|
||||
|
@ -45,7 +46,6 @@ from markdown.blockparser import BlockParser
|
|||
from markdown.extensions import codehilite, nl2br, sane_lists, tables
|
||||
from soupsieve import escape as css_escape
|
||||
from tlds import tld_set
|
||||
from typing_extensions import TypedDict
|
||||
|
||||
from zerver.lib import mention as mention
|
||||
from zerver.lib.cache import cache_with_key
|
||||
|
|
|
@ -2,7 +2,7 @@ import copy
|
|||
import datetime
|
||||
import zlib
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Any, Dict, List, Mapping, Optional, Sequence, Set, Tuple, Union
|
||||
from typing import Any, Dict, List, Mapping, Optional, Sequence, Set, Tuple, TypedDict, Union
|
||||
|
||||
import ahocorasick
|
||||
import orjson
|
||||
|
@ -12,7 +12,6 @@ from django.db.models import Max, Sum
|
|||
from django.utils.timezone import now as timezone_now
|
||||
from django.utils.translation import gettext as _
|
||||
from psycopg2.sql import SQL
|
||||
from typing_extensions import TypedDict
|
||||
|
||||
from analytics.lib.counts import COUNT_STATS
|
||||
from analytics.models import RealmCount
|
||||
|
|
|
@ -10,6 +10,7 @@ from typing import (
|
|||
Dict,
|
||||
Generic,
|
||||
List,
|
||||
Literal,
|
||||
MutableMapping,
|
||||
Optional,
|
||||
Sequence,
|
||||
|
@ -24,7 +25,6 @@ import orjson
|
|||
from django.core.exceptions import ValidationError
|
||||
from django.http import HttpRequest, HttpResponse
|
||||
from django.utils.translation import gettext as _
|
||||
from typing_extensions import Literal
|
||||
|
||||
import zerver.lib.rate_limiter as rate_limiter
|
||||
import zerver.tornado.handlers as handlers
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
import logging
|
||||
from datetime import timedelta
|
||||
from importlib import import_module
|
||||
from typing import Any, List, Mapping, Optional, Type, cast
|
||||
from typing import Any, List, Mapping, Optional, Protocol, Type, cast
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.auth import SESSION_KEY, get_user_model
|
||||
from django.contrib.sessions.backends.base import SessionBase
|
||||
from django.contrib.sessions.models import Session
|
||||
from django.utils.timezone import now as timezone_now
|
||||
from typing_extensions import Protocol
|
||||
|
||||
from zerver.lib.timestamp import datetime_to_timestamp, timestamp_to_datetime
|
||||
from zerver.models import Realm, UserProfile, get_user_profile_by_id
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
from typing import Any, Collection, Dict, List, Optional, Set, Tuple, Union
|
||||
from typing import Any, Collection, Dict, List, Optional, Set, Tuple, TypedDict, Union
|
||||
|
||||
from django.db import transaction
|
||||
from django.db.models import Exists, OuterRef, Q
|
||||
from django.db.models.query import QuerySet
|
||||
from django.utils.timezone import now as timezone_now
|
||||
from django.utils.translation import gettext as _
|
||||
from typing_extensions import TypedDict
|
||||
|
||||
from zerver.actions.default_streams import get_default_streams_for_realm
|
||||
from zerver.lib.exceptions import (
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import datetime
|
||||
from dataclasses import dataclass
|
||||
from typing import Any, Callable, Dict, List, Optional, Tuple, TypeVar, Union
|
||||
from typing import Any, Callable, Dict, List, Optional, Tuple, TypedDict, TypeVar, Union
|
||||
|
||||
from django.http import HttpResponse
|
||||
from django.utils.functional import Promise
|
||||
from typing_extensions import NotRequired, TypedDict
|
||||
from typing_extensions import NotRequired
|
||||
|
||||
ViewFuncT = TypeVar("ViewFuncT", bound=Callable[..., HttpResponse])
|
||||
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
from dataclasses import dataclass
|
||||
from typing import Optional
|
||||
|
||||
from typing_extensions import Literal
|
||||
from typing import Literal, Optional
|
||||
|
||||
|
||||
@dataclass
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import re
|
||||
import unicodedata
|
||||
from collections import defaultdict
|
||||
from typing import Any, Dict, List, Optional, Sequence, Union, cast
|
||||
from typing import Any, Dict, List, Optional, Sequence, TypedDict, Union, cast
|
||||
|
||||
import dateutil.parser as date_parser
|
||||
from django.conf import settings
|
||||
|
@ -9,7 +9,6 @@ from django.core.exceptions import ValidationError
|
|||
from django.db.models.query import QuerySet
|
||||
from django.forms.models import model_to_dict
|
||||
from django.utils.translation import gettext as _
|
||||
from typing_extensions import TypedDict
|
||||
from zulip_bots.custom_exceptions import ConfigValidationError
|
||||
|
||||
from zerver.lib.avatar import avatar_url, get_avatar_field
|
||||
|
|
|
@ -4,7 +4,7 @@ import os
|
|||
import platform
|
||||
import subprocess
|
||||
import traceback
|
||||
from typing import Any, Dict, Optional
|
||||
from typing import Any, Dict, Optional, Protocol, runtime_checkable
|
||||
from urllib.parse import SplitResult
|
||||
|
||||
from django.conf import settings
|
||||
|
@ -12,7 +12,6 @@ from django.http import HttpRequest
|
|||
from django.utils.translation import override as override_language
|
||||
from django.views.debug import get_exception_reporter_filter
|
||||
from sentry_sdk import capture_exception
|
||||
from typing_extensions import Protocol, runtime_checkable
|
||||
|
||||
from version import ZULIP_VERSION
|
||||
from zerver.lib.logging_util import find_log_caller_module
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
import time
|
||||
from typing import List, Optional
|
||||
from typing import List, Optional, TypedDict
|
||||
|
||||
import orjson
|
||||
from django.db import migrations, transaction
|
||||
from django.db.backends.postgresql.schema import DatabaseSchemaEditor
|
||||
from django.db.migrations.state import StateApps
|
||||
from django.db.models import Min, Model
|
||||
from typing_extensions import TypedDict
|
||||
|
||||
BATCH_SIZE = 10000
|
||||
STREAM = 2
|
||||
|
|
|
@ -14,6 +14,7 @@ from typing import (
|
|||
Sequence,
|
||||
Set,
|
||||
Tuple,
|
||||
TypedDict,
|
||||
TypeVar,
|
||||
Union,
|
||||
)
|
||||
|
@ -48,7 +49,6 @@ from django.utils.timezone import now as timezone_now
|
|||
from django.utils.translation import gettext as _
|
||||
from django.utils.translation import gettext_lazy
|
||||
from django_cte import CTEManager
|
||||
from typing_extensions import TypedDict
|
||||
|
||||
from confirmation import settings as confirmation_settings
|
||||
from zerver.lib import cache
|
||||
|
|
|
@ -28,6 +28,7 @@ from typing import (
|
|||
Sequence,
|
||||
Set,
|
||||
Tuple,
|
||||
TypedDict,
|
||||
Union,
|
||||
cast,
|
||||
)
|
||||
|
@ -36,7 +37,6 @@ import orjson
|
|||
import tornado.ioloop
|
||||
from django.conf import settings
|
||||
from django.utils.translation import gettext as _
|
||||
from typing_extensions import TypedDict
|
||||
|
||||
from version import API_FEATURE_LEVEL, ZULIP_MERGE_BASE, ZULIP_VERSION
|
||||
from zerver.lib.exceptions import JsonableError
|
||||
|
|
|
@ -2,10 +2,9 @@
|
|||
import re
|
||||
import string
|
||||
from functools import partial
|
||||
from typing import Dict, List, Optional
|
||||
from typing import Dict, List, Optional, Protocol
|
||||
|
||||
from django.http import HttpRequest, HttpResponse
|
||||
from typing_extensions import Protocol
|
||||
|
||||
from zerver.decorator import log_unsupported_webhook_event, webhook_view
|
||||
from zerver.lib.exceptions import UnsupportedWebhookEventType
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
import string
|
||||
from functools import partial
|
||||
from typing import Dict, List, Optional
|
||||
from typing import Dict, List, Optional, Protocol
|
||||
|
||||
from django.http import HttpRequest, HttpResponse
|
||||
from typing_extensions import Protocol
|
||||
|
||||
from zerver.decorator import webhook_view
|
||||
from zerver.lib.exceptions import UnsupportedWebhookEventType
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
# vim:fenc=utf-8
|
||||
from typing import Any, Dict, Optional
|
||||
from typing import Any, Dict, Optional, Protocol
|
||||
|
||||
from django.http import HttpRequest, HttpResponse
|
||||
from typing_extensions import Protocol
|
||||
|
||||
from zerver.decorator import webhook_view
|
||||
from zerver.lib.exceptions import UnsupportedWebhookEventType
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from datetime import datetime
|
||||
from typing import Protocol
|
||||
|
||||
from django.core.management.commands.runserver import Command as DjangoCommand
|
||||
from typing_extensions import Protocol
|
||||
|
||||
|
||||
class Writable(Protocol):
|
||||
|
|
|
@ -16,7 +16,20 @@ import binascii
|
|||
import json
|
||||
import logging
|
||||
from abc import ABC, abstractmethod
|
||||
from typing import Any, Callable, Dict, List, Optional, Set, Tuple, Type, TypeVar, Union, cast
|
||||
from typing import (
|
||||
Any,
|
||||
Callable,
|
||||
Dict,
|
||||
List,
|
||||
Optional,
|
||||
Set,
|
||||
Tuple,
|
||||
Type,
|
||||
TypedDict,
|
||||
TypeVar,
|
||||
Union,
|
||||
cast,
|
||||
)
|
||||
from urllib.parse import urlencode
|
||||
|
||||
import magic
|
||||
|
@ -55,7 +68,6 @@ from social_core.exceptions import (
|
|||
SocialAuthBaseException,
|
||||
)
|
||||
from social_core.pipeline.partial import partial
|
||||
from typing_extensions import TypedDict
|
||||
from zxcvbn import zxcvbn
|
||||
|
||||
from zerver.actions.create_user import do_create_user, do_reactivate_user
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import os
|
||||
from typing import TYPE_CHECKING, Any, Dict, List, Optional
|
||||
from typing import TYPE_CHECKING, Any, Dict, List, Optional, TypedDict
|
||||
|
||||
from scripts.lib.zulip_tools import deport
|
||||
|
||||
|
@ -7,7 +7,6 @@ from .config import DEVELOPMENT, PRODUCTION, get_secret
|
|||
|
||||
if TYPE_CHECKING:
|
||||
from django_auth_ldap.config import LDAPSearch
|
||||
from typing_extensions import TypedDict
|
||||
|
||||
from zerver.lib.types import SAMLIdPConfigDict
|
||||
|
||||
|
|
Loading…
Reference in New Issue