U
    ƽb                     @   sb   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ ddlmZ dd
dZd	S )    )
exceptions)AllowAny)CoreJSONRenderer)Response)SchemaGenerator)APIView   )	renderersNc                    s"   G  fdddt }| S )z<
    Returns schema view which renders Swagger/OpenAPI.
    c                       s:   e Zd ZdZdZegZeej	ej
gZ fddZdS )z+get_swagger_view.<locals>.SwaggerSchemaViewTc                    s2   t  d}|j|d}|s*tdt|S )N)titleurlpatternsurlconf)requestz5The schema generator did not return a schema Document)r   Z
get_schemar   ZValidationErrorr   )selfr   	generatorZschemar   r
   r   r    @/tmp/pip-unpacked-wheel-sh0jdej0/rest_framework_swagger/views.pyget   s    z/get_swagger_view.<locals>.SwaggerSchemaView.getN)__name__
__module____qualname__Z_ignore_model_permissionsZexclude_from_schemar   Zpermission_classesr   r	   ZOpenAPIRendererZSwaggerUIRendererZrenderer_classesr   r   r   r   r   SwaggerSchemaView   s   r   )r   Zas_view)r
   r   r   r   r   r   r   r   get_swagger_view   s    r   )NNNN)Zrest_frameworkr   Zrest_framework.permissionsr   Zrest_framework.renderersr   Zrest_framework.responser   Zrest_framework.schemasr   Zrest_framework.viewsr    r	   r   r   r   r   r   <module>   s   