From 783e427d646e1b323a272ea12398109346f4996d Mon Sep 17 00:00:00 2001 From: Maxim Kurnikov Date: Fri, 21 Dec 2018 23:07:58 +0300 Subject: [PATCH] cleanup middlewares --- django-stubs/conf/urls/__init__.pyi | 18 ++++++++---------- django-stubs/contrib/admindocs/middleware.pyi | 1 - django-stubs/contrib/auth/middleware.pyi | 5 +---- django-stubs/contrib/flatpages/middleware.pyi | 3 --- django-stubs/contrib/messages/middleware.pyi | 3 --- django-stubs/contrib/redirects/middleware.pyi | 4 +--- .../contrib/sessions/backends/base.pyi | 8 ++++---- .../contrib/sessions/backends/cache.pyi | 4 +++- django-stubs/contrib/sites/middleware.pyi | 1 - django-stubs/middleware/cache.pyi | 7 +------ django-stubs/middleware/clickjacking.pyi | 3 --- django-stubs/middleware/common.pyi | 2 -- django-stubs/middleware/csrf.pyi | 1 - django-stubs/middleware/gzip.pyi | 1 - django-stubs/middleware/http.pyi | 1 - django-stubs/middleware/locale.pyi | 3 +-- django-stubs/middleware/security.pyi | 4 +--- django-stubs/shortcuts.pyi | 8 ++++---- django-stubs/utils/deprecation.pyi | 6 ++++-- 19 files changed, 28 insertions(+), 55 deletions(-) diff --git a/django-stubs/conf/urls/__init__.pyi b/django-stubs/conf/urls/__init__.pyi index fb0ceba..b59ac58 100644 --- a/django-stubs/conf/urls/__init__.pyi +++ b/django-stubs/conf/urls/__init__.pyi @@ -1,8 +1,8 @@ # Stubs for django.conf.urls (Python 3.5) -from types import ModuleType from typing import Any, Callable, Dict, List, Optional, overload, Tuple, Union from django.http.response import HttpResponse + from django.urls import URLResolver, URLPattern handler400 = ... # type: str @@ -10,16 +10,14 @@ handler403 = ... # type: str handler404 = ... # type: str handler500 = ... # type: str -URLConf = Union[str, ModuleType] +IncludedURLConf = Tuple[List[URLResolver], Optional[str], Optional[str]] -def include(arg: Any, namespace: str = ..., app_name: str = ...) -> Tuple[URLConf, Optional[str], Optional[str]]: ... +def include(arg: Any, namespace: str = ..., app_name: str = ...) -> IncludedURLConf: ... +@overload +def url(regex: str, view: Callable[..., HttpResponse], kwargs: Dict[str, Any] = ..., name: str = ...) -> URLPattern: ... +@overload +def url(regex: str, view: IncludedURLConf, kwargs: Dict[str, Any] = ..., name: str = ...) -> URLResolver: ... @overload def url( - regex: str, view: Callable[..., HttpResponse], kwargs: Dict[str, Any] = ..., name: str = ... -) -> URLPattern: ... # type: ignore # issue 253 of typing -@overload -def url( - regex: str, view: Tuple[URLConf, Optional[str], Optional[str]], kwargs: Dict[str, Any] = ..., name: str = ... + regex: str, view: List[Union[URLResolver, str]], kwargs: Dict[str, Any] = ..., name: str = ... ) -> URLResolver: ... -@overload -def url(regex: str, view: List[Union[URLConf, str]], kwargs: Dict[str, Any] = ..., name: str = ...) -> URLResolver: ... diff --git a/django-stubs/contrib/admindocs/middleware.pyi b/django-stubs/contrib/admindocs/middleware.pyi index 39872dc..fc69725 100644 --- a/django-stubs/contrib/admindocs/middleware.pyi +++ b/django-stubs/contrib/admindocs/middleware.pyi @@ -5,7 +5,6 @@ from django.http.response import HttpResponse from django.utils.deprecation import MiddlewareMixin class XViewMiddleware(MiddlewareMixin): - get_response: None def process_view( self, request: WSGIRequest, view_func: Callable, view_args: Tuple, view_kwargs: Dict[Any, Any] ) -> Optional[HttpResponse]: ... diff --git a/django-stubs/contrib/auth/middleware.pyi b/django-stubs/contrib/auth/middleware.pyi index c2ae4f3..d5c2c4f 100644 --- a/django-stubs/contrib/auth/middleware.pyi +++ b/django-stubs/contrib/auth/middleware.pyi @@ -1,4 +1,4 @@ -from typing import Any, Optional, Union +from typing import Union from django.contrib.auth.models import AnonymousUser, User from django.core.handlers.wsgi import WSGIRequest @@ -8,16 +8,13 @@ from django.utils.deprecation import MiddlewareMixin def get_user(request: WSGIRequest) -> Union[AnonymousUser, User]: ... class AuthenticationMiddleware(MiddlewareMixin): - get_response: Callable def process_request(self, request: HttpRequest) -> None: ... class RemoteUserMiddleware(MiddlewareMixin): - get_response: Callable header: str = ... force_logout_if_no_header: bool = ... def process_request(self, request: WSGIRequest) -> None: ... def clean_username(self, username: str, request: WSGIRequest) -> str: ... class PersistentRemoteUserMiddleware(RemoteUserMiddleware): - get_response: Callable force_logout_if_no_header: bool = ... diff --git a/django-stubs/contrib/flatpages/middleware.pyi b/django-stubs/contrib/flatpages/middleware.pyi index 8d51a25..abb18f2 100644 --- a/django-stubs/contrib/flatpages/middleware.pyi +++ b/django-stubs/contrib/flatpages/middleware.pyi @@ -1,9 +1,6 @@ -from typing import Any, Optional - from django.core.handlers.wsgi import WSGIRequest from django.http.response import HttpResponse from django.utils.deprecation import MiddlewareMixin class FlatpageFallbackMiddleware(MiddlewareMixin): - get_response: Callable def process_response(self, request: WSGIRequest, response: HttpResponse) -> HttpResponse: ... diff --git a/django-stubs/contrib/messages/middleware.pyi b/django-stubs/contrib/messages/middleware.pyi index 1ca27ef..df6a76e 100644 --- a/django-stubs/contrib/messages/middleware.pyi +++ b/django-stubs/contrib/messages/middleware.pyi @@ -1,11 +1,8 @@ -from typing import Any, Optional - from django.core.handlers.wsgi import WSGIRequest from django.http.request import HttpRequest from django.http.response import HttpResponseBase from django.utils.deprecation import MiddlewareMixin class MessageMiddleware(MiddlewareMixin): - get_response: Callable def process_request(self, request: WSGIRequest) -> None: ... def process_response(self, request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ... diff --git a/django-stubs/contrib/redirects/middleware.pyi b/django-stubs/contrib/redirects/middleware.pyi index 993b5fc..398770b 100644 --- a/django-stubs/contrib/redirects/middleware.pyi +++ b/django-stubs/contrib/redirects/middleware.pyi @@ -1,12 +1,10 @@ -from typing import Any, Callable, Optional +from typing import Any from django.core.handlers.wsgi import WSGIRequest from django.http.response import HttpResponse from django.utils.deprecation import MiddlewareMixin class RedirectFallbackMiddleware(MiddlewareMixin): - get_response: Callable response_gone_class: Any = ... response_redirect_class: Any = ... - def __init__(self, get_response: Optional[Callable] = ...) -> None: ... def process_response(self, request: WSGIRequest, response: HttpResponse) -> HttpResponse: ... diff --git a/django-stubs/contrib/sessions/backends/base.pyi b/django-stubs/contrib/sessions/backends/base.pyi index f7e691f..7246ee3 100644 --- a/django-stubs/contrib/sessions/backends/base.pyi +++ b/django-stubs/contrib/sessions/backends/base.pyi @@ -16,11 +16,11 @@ class SessionBase: serializer: Any = ... def __init__(self, session_key: Optional[str] = ...) -> None: ... def __contains__(self, key: str) -> bool: ... - def __getitem__(self, key: str) -> Union[Model, int, str]: ... - def __setitem__(self, key: str, value: Union[datetime, Model, int, str]) -> None: ... + def __getitem__(self, key: str) -> Any: ... + def __setitem__(self, key: str, value: Any) -> None: ... def __delitem__(self, key: str) -> None: ... - def get(self, key: str, default: Optional[str] = ...) -> Optional[Union[datetime, int, str]]: ... - def pop(self, key: str, default: Any = ...) -> Union[int, str]: ... + def get(self, key: str, default: Optional[str] = ...) -> Any: ... + def pop(self, key: str, default: Any = ...) -> Any: ... def setdefault(self, key: str, value: str) -> str: ... def set_test_cookie(self) -> None: ... def test_cookie_worked(self) -> bool: ... diff --git a/django-stubs/contrib/sessions/backends/cache.pyi b/django-stubs/contrib/sessions/backends/cache.pyi index 872d6e0..0db2a6c 100644 --- a/django-stubs/contrib/sessions/backends/cache.pyi +++ b/django-stubs/contrib/sessions/backends/cache.pyi @@ -2,11 +2,13 @@ from typing import Any, Dict, Optional from django.contrib.sessions.backends.base import SessionBase +from django.contrib.sessions.serializers import JSONSerializer + KEY_PREFIX: str class SessionStore(SessionBase): accessed: bool - serializer: Type[django.core.signing.JSONSerializer] + serializer: JSONSerializer cache_key_prefix: Any = ... def __init__(self, session_key: Optional[str] = ...) -> None: ... @property diff --git a/django-stubs/contrib/sites/middleware.pyi b/django-stubs/contrib/sites/middleware.pyi index 61ec027..018bd5f 100644 --- a/django-stubs/contrib/sites/middleware.pyi +++ b/django-stubs/contrib/sites/middleware.pyi @@ -2,5 +2,4 @@ from django.http.request import HttpRequest from django.utils.deprecation import MiddlewareMixin class CurrentSiteMiddleware(MiddlewareMixin): - get_response: None def process_request(self, request: HttpRequest) -> None: ... diff --git a/django-stubs/middleware/cache.pyi b/django-stubs/middleware/cache.pyi index a26615f..1b009b0 100644 --- a/django-stubs/middleware/cache.pyi +++ b/django-stubs/middleware/cache.pyi @@ -1,4 +1,4 @@ -from typing import Any, Callable, Optional, Union +from typing import Any, Optional, Union from django.http.request import HttpRequest from django.http.response import HttpResponse, HttpResponseBase @@ -11,8 +11,6 @@ class UpdateCacheMiddleware(MiddlewareMixin): key_prefix: str = ... cache_alias: str = ... cache: BaseCache = ... - get_response: Optional[Callable] = ... - def __init__(self, get_response: Optional[Callable] = ...) -> None: ... def process_response( self, request: HttpRequest, response: Union[HttpResponseBase, str] ) -> Union[HttpResponseBase, str]: ... @@ -21,12 +19,9 @@ class FetchFromCacheMiddleware(MiddlewareMixin): key_prefix: str = ... cache_alias: str = ... cache: BaseCache = ... - get_response: Optional[Callable] = ... - def __init__(self, get_response: Optional[Callable] = ...) -> None: ... def process_request(self, request: HttpRequest) -> Optional[HttpResponse]: ... class CacheMiddleware(UpdateCacheMiddleware, FetchFromCacheMiddleware): - get_response: None = ... key_prefix: str = ... cache_alias: str = ... cache_timeout: float = ... diff --git a/django-stubs/middleware/clickjacking.pyi b/django-stubs/middleware/clickjacking.pyi index deb8ba6..08f4e18 100644 --- a/django-stubs/middleware/clickjacking.pyi +++ b/django-stubs/middleware/clickjacking.pyi @@ -1,10 +1,7 @@ -from typing import Any, Optional, Callable - from django.http.request import HttpRequest from django.http.response import HttpResponse from django.utils.deprecation import MiddlewareMixin class XFrameOptionsMiddleware(MiddlewareMixin): - get_response: Optional[Callable] def process_response(self, request: HttpRequest, response: HttpResponse) -> HttpResponse: ... def get_xframe_options_value(self, request: HttpRequest, response: HttpResponse) -> str: ... diff --git a/django-stubs/middleware/common.pyi b/django-stubs/middleware/common.pyi index bb01c44..0c09436 100644 --- a/django-stubs/middleware/common.pyi +++ b/django-stubs/middleware/common.pyi @@ -6,7 +6,6 @@ from django.http.response import HttpResponseBase, HttpResponseNotFound, HttpRes from django.utils.deprecation import MiddlewareMixin class CommonMiddleware(MiddlewareMixin): - get_response: Optional[Callable] response_redirect_class: Any = ... def process_request(self, request: WSGIRequest) -> Optional[HttpResponsePermanentRedirect]: ... def should_redirect_with_slash(self, request: WSGIRequest) -> bool: ... @@ -14,7 +13,6 @@ class CommonMiddleware(MiddlewareMixin): def process_response(self, request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ... class BrokenLinkEmailsMiddleware(MiddlewareMixin): - get_response: None def process_response(self, request: WSGIRequest, response: HttpResponseNotFound) -> HttpResponseNotFound: ... def is_internal_request(self, domain: str, referer: str) -> bool: ... def is_ignorable_request(self, request: WSGIRequest, uri: str, domain: str, referer: str) -> bool: ... diff --git a/django-stubs/middleware/csrf.pyi b/django-stubs/middleware/csrf.pyi index 7da3a99..c2d55ad 100644 --- a/django-stubs/middleware/csrf.pyi +++ b/django-stubs/middleware/csrf.pyi @@ -20,7 +20,6 @@ def get_token(request: HttpRequest) -> str: ... def rotate_token(request: HttpRequest) -> None: ... class CsrfViewMiddleware(MiddlewareMixin): - get_response: Optional[Callable] def process_request(self, request: HttpRequest) -> None: ... def process_view( self, request: HttpRequest, callback: Callable, callback_args: Tuple, callback_kwargs: Dict[str, Any] diff --git a/django-stubs/middleware/gzip.pyi b/django-stubs/middleware/gzip.pyi index 4dd342f..878ea35 100644 --- a/django-stubs/middleware/gzip.pyi +++ b/django-stubs/middleware/gzip.pyi @@ -7,5 +7,4 @@ from django.utils.deprecation import MiddlewareMixin re_accepts_gzip: Any class GZipMiddleware(MiddlewareMixin): - get_response: None def process_response(self, request: WSGIRequest, response: HttpResponseBase) -> HttpResponseBase: ... diff --git a/django-stubs/middleware/http.pyi b/django-stubs/middleware/http.pyi index 7a13c7d..1c4c5d9 100644 --- a/django-stubs/middleware/http.pyi +++ b/django-stubs/middleware/http.pyi @@ -3,6 +3,5 @@ from django.http.response import HttpResponseBase from django.utils.deprecation import MiddlewareMixin class ConditionalGetMiddleware(MiddlewareMixin): - get_response: None def process_response(self, request: WSGIRequest, response: HttpResponseBase) -> HttpResponseBase: ... def needs_etag(self, response: HttpResponseBase) -> bool: ... diff --git a/django-stubs/middleware/locale.pyi b/django-stubs/middleware/locale.pyi index 3ce2fca..45652d3 100644 --- a/django-stubs/middleware/locale.pyi +++ b/django-stubs/middleware/locale.pyi @@ -1,11 +1,10 @@ -from typing import Any, Optional, Callable +from typing import Any from django.core.handlers.wsgi import WSGIRequest from django.http.response import HttpResponseBase from django.utils.deprecation import MiddlewareMixin class LocaleMiddleware(MiddlewareMixin): - get_response: Optional[Callable] response_redirect_class: Any = ... def process_request(self, request: WSGIRequest) -> None: ... def process_response(self, request: WSGIRequest, response: HttpResponseBase) -> HttpResponseBase: ... diff --git a/django-stubs/middleware/security.pyi b/django-stubs/middleware/security.pyi index 7fbcda2..cea7129 100644 --- a/django-stubs/middleware/security.pyi +++ b/django-stubs/middleware/security.pyi @@ -1,4 +1,4 @@ -from typing import Any, Callable, Optional, List +from typing import Any, Optional, List from django.core.handlers.wsgi import WSGIRequest from django.http.response import HttpResponse, HttpResponsePermanentRedirect @@ -13,7 +13,5 @@ class SecurityMiddleware(MiddlewareMixin): redirect: bool = ... redirect_host: Optional[str] = ... redirect_exempt: List[Any] = ... - get_response: Optional[Callable] = ... - def __init__(self, get_response: Optional[Callable] = ...) -> None: ... def process_request(self, request: WSGIRequest) -> Optional[HttpResponsePermanentRedirect]: ... def process_response(self, request: WSGIRequest, response: HttpResponse) -> HttpResponse: ... diff --git a/django-stubs/shortcuts.pyi b/django-stubs/shortcuts.pyi index d5958ef..a158af8 100644 --- a/django-stubs/shortcuts.pyi +++ b/django-stubs/shortcuts.pyi @@ -6,16 +6,16 @@ from django.http.response import HttpResponse, HttpResponseRedirect from django.http import HttpRequest def render_to_response( - template_name: Union[List[str], str], - context: Optional[Dict[str, str]] = ..., + template_name: str, + context: Optional[Dict[str, Any]] = ..., content_type: Optional[str] = ..., status: Optional[int] = ..., using: Optional[str] = ..., ) -> HttpResponse: ... def render( request: HttpRequest, - template_name: Union[List[str], str], - context: Optional[Dict[str, bool]] = ..., + template_name: str, + context: Optional[Dict[str, Any]] = ..., content_type: Optional[str] = ..., status: Optional[int] = ..., using: Optional[str] = ..., diff --git a/django-stubs/utils/deprecation.pyi b/django-stubs/utils/deprecation.pyi index 320382e..329f1e0 100644 --- a/django-stubs/utils/deprecation.pyi +++ b/django-stubs/utils/deprecation.pyi @@ -25,7 +25,9 @@ class DeprecationInstanceCheck(type): deprecation_warning: Type[Warning] def __instancecheck__(self, instance: Any): ... +GetResponseCallable = Callable[[WSGIRequest], HttpResponse] + class MiddlewareMixin: - get_response: Callable[[WSGIRequest], HttpResponse] = ... - def __init__(self, get_response: Optional[Callable[[WSGIRequest], HttpResponse]] = ...) -> None: ... + get_response: Optional[GetResponseCallable] = ... + def __init__(self, get_response: Optional[GetResponseCallable] = ...) -> None: ... def __call__(self, request: WSGIRequest) -> HttpResponse: ...