3
>^5                 @   sL   d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 G dd de	Z
dS )	zk
views.py        # Houses `SchemaView`, `APIView` subclass.

See schemas.__init__.py for package overview.
    )
exceptions	renderers)Response)api_settings)APIViewc                   sD   e Zd ZdZdZdZdZdZ fddZdd Z	 fdd	Z
  ZS )

SchemaViewTNFc                sL   t t| j|| | jd krHtjtjg| _tjtj	krH|  jtjg7  _d S )N)
superr   __init__renderer_classesr   ZOpenAPIRendererZCoreJSONRendererZBrowsableAPIRendererr   DEFAULT_RENDERER_CLASSES)selfargskwargs)	__class__ K/tmp/pip-build-8app2_gc/djangorestframework/rest_framework/schemas/views.pyr	      s    

zSchemaView.__init__c             O   s(   | j j|| j}|d kr tj t|S )N)schema_generatorZ
get_schemapublicr   ZPermissionDeniedr   )r   requestr   r   schemar   r   r   get   s    zSchemaView.getc                s8   t j| _| j| jdd}|\| j_| j_tt| j	|S )NT)force)
r   r   r
   Zperform_content_negotiationr   Zaccepted_rendererZaccepted_media_typer   r   handle_exception)r   excneg)r   r   r   r   #   s    zSchemaView.handle_exception)__name__
__module____qualname__Z_ignore_model_permissionsr   r
   r   r   r	   r   r   __classcell__r   r   )r   r   r      s   
r   N)__doc__Zrest_frameworkr   r   Zrest_framework.responser   Zrest_framework.settingsr   Zrest_framework.viewsr   r   r   r   r   r   <module>   s
   