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   