use custom yaml dumper instead of changing global settings

This commit is contained in:
Thorsten Franzel 2020-01-10 12:39:26 +01:00
parent 124aef9b1f
commit 49659a0427

View File

@ -1054,8 +1054,10 @@ class OpenAPIRenderer(BaseRenderer):
def render(self, data, media_type=None, renderer_context=None): def render(self, data, media_type=None, renderer_context=None):
# disable yaml advanced feature 'alias' for clean, portable, and readable output # disable yaml advanced feature 'alias' for clean, portable, and readable output
yaml.Dumper.ignore_aliases = lambda *args: True class Dumper(yaml.Dumper):
return yaml.dump(data, default_flow_style=False, sort_keys=False).encode('utf-8') def ignore_aliases(self, data):
return True
return yaml.dump(data, default_flow_style=False, sort_keys=False, Dumper=Dumper).encode('utf-8')
class JSONOpenAPIRenderer(BaseRenderer): class JSONOpenAPIRenderer(BaseRenderer):