From f7cd2ed45efbf922b7931f153714697b926d5648 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9E=84=EC=84=A0=EC=98=A4?= Date: Wed, 4 Dec 2024 21:47:11 +0900 Subject: [PATCH 1/2] Update rest_framework.renderers.BaseRenderer.format, media_type --- rest_framework-stubs/renderers.pyi | 4 ++-- scripts/stubtest/allowlist_todo.txt | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/rest_framework-stubs/renderers.pyi b/rest_framework-stubs/renderers.pyi index 01de43daa..e6e395856 100644 --- a/rest_framework-stubs/renderers.pyi +++ b/rest_framework-stubs/renderers.pyi @@ -13,8 +13,8 @@ from rest_framework.views import APIView def zero_as_none(value: Any) -> Any | None: ... class BaseRenderer: - media_type: str - format: str + media_type: str | None + format: str | None charset: str | None render_style: str def render( diff --git a/scripts/stubtest/allowlist_todo.txt b/scripts/stubtest/allowlist_todo.txt index 9b407de32..e024b021e 100644 --- a/scripts/stubtest/allowlist_todo.txt +++ b/scripts/stubtest/allowlist_todo.txt @@ -53,8 +53,6 @@ rest_framework.parsers.BaseParser.media_type rest_framework.parsers.FileUploadParser.get_encoded_filename rest_framework.relations.ManyRelatedField.initial rest_framework.relations.ManyRelatedField.to_representation -rest_framework.renderers.BaseRenderer.format -rest_framework.renderers.BaseRenderer.media_type rest_framework.renderers.BrowsableAPIRenderer.get_extra_actions rest_framework.renderers.CoreJSONRenderer.render rest_framework.renderers._BaseOpenAPIRenderer.__init__ From aee79406d3d882072c22efd9caf97c10ebc5968f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9E=84=EC=84=A0=EC=98=A4?= Date: Sun, 8 Dec 2024 03:28:40 +0900 Subject: [PATCH 2/2] Update renderers.BaseRenderer Subclasses --- rest_framework-stubs/renderers.pyi | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/rest_framework-stubs/renderers.pyi b/rest_framework-stubs/renderers.pyi index e6e395856..e9d5fa118 100644 --- a/rest_framework-stubs/renderers.pyi +++ b/rest_framework-stubs/renderers.pyi @@ -22,6 +22,8 @@ class BaseRenderer: ) -> Any: ... class JSONRenderer(BaseRenderer): + media_type: str + format: str encoder_class: ClassVar[type[JSONEncoder]] ensure_ascii: ClassVar[bool] compact: ClassVar[bool] @@ -29,6 +31,8 @@ class JSONRenderer(BaseRenderer): def get_indent(self, accepted_media_type: str, renderer_context: Mapping[str, Any]) -> int | None: ... class TemplateHTMLRenderer(BaseRenderer): + media_type: str + format: str template_name: str | None exception_template_names: Sequence[str] def resolve_template(self, template_names: Iterable[str]) -> Any: ... @@ -50,6 +54,8 @@ class BrowsableAPIRenderer(BaseRenderer): HTML renderer used to self-document the API. """ + media_type: str + format: str template: str filter_template: str code_style: str @@ -83,6 +89,8 @@ class AdminRenderer(BrowsableAPIRenderer): def get_result_url(self, result: Mapping[str, Any], view: APIView) -> str | None: ... class DocumentationRenderer(BaseRenderer): + media_type: str + format: str template: str error_template: str code_style: str @@ -90,12 +98,18 @@ class DocumentationRenderer(BaseRenderer): def get_context(self, data: Any, request: Request) -> dict[str, Any]: ... class SchemaJSRenderer(BaseRenderer): + media_type: str + format: str template: str class MultiPartRenderer(BaseRenderer): + media_type: str + format: str BOUNDARY: str -class CoreJSONRenderer(BaseRenderer): ... +class CoreJSONRenderer(BaseRenderer): + media_type: str + format: str class _BaseOpenAPIRenderer: media_type: str @@ -109,11 +123,14 @@ class _BaseOpenAPIRenderer: def get_paths(self, document: Incomplete) -> dict[str, Any]: ... def get_structure(self, data: Any) -> dict[str, Any]: ... +class OpenAPIRenderer(_BaseOpenAPIRenderer): + media_type: str + format: str + class JSONOpenAPIRenderer(_BaseOpenAPIRenderer): encoder_class: ClassVar[type[JSONEncoder]] ensure_ascii: ClassVar[bool] -class OpenAPIRenderer(_BaseOpenAPIRenderer): ... class CoreAPIOpenAPIRenderer(_BaseOpenAPIRenderer): ... class CoreAPIJSONOpenAPIRenderer(_BaseOpenAPIRenderer):