From c6b733cc591ba6ce66cd54fe8c34f4fad768142e Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Wed, 3 Oct 2018 14:48:03 +0100 Subject: [PATCH] Ensure that renderers generate bytes and generateschema outputs text --- rest_framework/management/commands/generateschema.py | 5 ++--- rest_framework/renderers.py | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/rest_framework/management/commands/generateschema.py b/rest_framework/management/commands/generateschema.py index 04a4267c7..94b110aa1 100644 --- a/rest_framework/management/commands/generateschema.py +++ b/rest_framework/management/commands/generateschema.py @@ -29,9 +29,8 @@ class Command(BaseCommand): schema = generator.get_schema(request=None, public=True) renderer = self.get_renderer(options['format']) - output = renderer.render(schema) - - self.stdout.write(output) + output = renderer.render(schema, renderer_context={}) + self.stdout.write(output.decode('utf-8')) def get_renderer(self, format): return { diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index 8fa3c5576..375c38a85 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -1034,7 +1034,7 @@ class OpenAPIRenderer(_BaseOpenAPIRenderer): def render(self, data, media_type=None, renderer_context=None): structure = self.get_structure(data) - return yaml.dump(structure, default_flow_style=False) + return yaml.dump(structure, default_flow_style=False).encode('utf-8') class JSONOpenAPIRenderer(_BaseOpenAPIRenderer): @@ -1047,4 +1047,4 @@ class JSONOpenAPIRenderer(_BaseOpenAPIRenderer): def render(self, data, media_type=None, renderer_context=None): structure = self.get_structure(data) - return json.dumps(structure, indent=4) + return json.dumps(structure, indent=4).encode('utf-8')