From e5cc8463030c77750db313b876d4b878220d6075 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Wed, 3 Oct 2018 14:39:42 +0100 Subject: [PATCH] generate_schema -> generateschema, and fix to OpenAPIRenderer --- .../commands/{generate_schema.py => generateschema.py} | 10 ++++++---- rest_framework/renderers.py | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) rename rest_framework/management/commands/{generate_schema.py => generateschema.py} (85%) diff --git a/rest_framework/management/commands/generate_schema.py b/rest_framework/management/commands/generateschema.py similarity index 85% rename from rest_framework/management/commands/generate_schema.py rename to rest_framework/management/commands/generateschema.py index eea9f3e08..04a4267c7 100644 --- a/rest_framework/management/commands/generate_schema.py +++ b/rest_framework/management/commands/generateschema.py @@ -1,7 +1,10 @@ from django.core.management.base import BaseCommand from rest_framework.compat import coreapi -from rest_framework.renderers import CoreJSONRenderer, OpenAPIRenderer, JSONOpenAPIRenderer +from rest_framework.renderers import ( + CoreJSONRenderer, JSONOpenAPIRenderer, OpenAPIRenderer +) +from rest_framework.schemas.generators import SchemaGenerator from rest_framework.settings import api_settings @@ -17,12 +20,11 @@ class Command(BaseCommand): def handle(self, *args, **options): assert coreapi is not None, 'coreapi must be installed.' - generator_class = api_settings.DEFAULT_SCHEMA_GENERATOR_CLASS( + generator = SchemaGenerator( url=options['url'], title=options['title'], description=options['description'] ) - generator = generator_class() schema = generator.get_schema(request=None, public=True) @@ -36,4 +38,4 @@ class Command(BaseCommand): 'corejson': CoreJSONRenderer(), 'openapi': OpenAPIRenderer(), 'openapi-json': JSONOpenAPIRenderer() - } + }[format] diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index 496ba7032..8fa3c5576 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.dumps(structure, default_flow_style=False) + return yaml.dump(structure, default_flow_style=False) class JSONOpenAPIRenderer(_BaseOpenAPIRenderer):