Skip to content

Update rest_framework.renderers.BaseRenderer.format, media_type #705

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 21 additions & 4 deletions rest_framework-stubs/renderers.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,26 @@ 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(
self, data: Any, accepted_media_type: str | None = ..., renderer_context: Mapping[str, Any] | None = ...
) -> Any: ...

class JSONRenderer(BaseRenderer):
media_type: str
format: str
encoder_class: ClassVar[type[JSONEncoder]]
ensure_ascii: ClassVar[bool]
compact: ClassVar[bool]
strict: ClassVar[bool]
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: ...
Expand All @@ -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
Expand Down Expand Up @@ -83,19 +89,27 @@ 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
languages: Sequence[str]
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
Expand All @@ -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):
Expand Down
2 changes: 0 additions & 2 deletions scripts/stubtest/allowlist_todo.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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__
Expand Down
Loading