
    ^fs                     f    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Z
dZ G d d	e          Zd
S )    )BaseCommand)import_string)	renderers)coreapi)SchemaGeneratoropenapir   c                   0    e Zd ZdZd Zd Zd Zd Zd ZdS )Commandz,Generates configured API schema for project.c                 D    t          j                    rt          nt          S N)r   
is_enabledCOREAPI_MODEOPENAPI_MODEselfs    c/var/www/html/env/lib/python3.11/site-packages/rest_framework/management/commands/generateschema.pyget_modezCommand.get_mode   s    &133E||E    c                 j   |                     dddt                     |                     ddd t                     |                     ddd t                     |                                 t          k    r"|                     d	d
g ddt                     n!|                     d	d
ddgdt                     |                     ddd t                     |                     ddd t                     |                     ddd t                     |                     dddt                     d S )Nz--titletitle )destdefaulttypez--urlurlz--descriptiondescriptionz--formatformat)r   openapi-jsoncorejsonr   )r   choicesr   r   r   z	--urlconfurlconfz--generator_classgenerator_classz--filefilez--api_versionapi_version)add_argumentstrr   r   )r   parsers     r   add_argumentszCommand.add_arguments   sM   IGRcJJJG%CHHHO-TWXXX==??l**
CjCjCjt}  EH  I  I  I  I
I~C^hqx{|||KiCPPP/6GQU\_```H64cJJJO-RUVVVVVr   c                 L   |d         rt          |d                   }n|                                 } ||d         |d         |d         |d         |d                   }|                    d d	          }|                     |d
                   }|                    |i           }|d         rFt          |d         d          5 }|                    |           d d d            d S # 1 swxY w Y   d S | j                            |                                           d S )Nr"   r   r   r   r!   r$   )r   r   r   r!   versionT)requestpublicr   )renderer_contextr#   wb)	r   get_generator_class
get_schemaget_rendererrenderopenwritestdoutdecode)	r   argsoptionsr"   	generatorschemarendereroutputfs	            r   handlezCommand.handle   sp   $% 	9+G4E,FGGOO"6688O#O'".I&M*
 
 
	 %%d4%@@$$WX%677"==6? 	/gfot,,                                      Kfmmoo.....s   C++C/2C/c                     |                                  t          k    r4t          j        t          j        t          j        d|         } |            S t          j        t          j        d|         } |            S )N)r   r   r   )r   r   )r   r   r   CoreJSONRendererCoreAPIOpenAPIRendererCoreAPIJSONOpenAPIRendererOpenAPIRendererJSONOpenAPIRenderer)r   r   renderer_clss      r   r1   zCommand.get_renderer5   s}    ==??l**%6$; ) D  	L
  <>>! !0%9
 
  |~~r   c                 b    |                                  t          k    rt          j        S t          S r   )r   r   r   r   r   s    r   r/   zCommand.get_generator_classD   s$    ==??l****r   N)	__name__
__module____qualname__helpr   r(   r>   r1   r/    r   r   r
   r
      sj        9DF F FW W W/ / /,      r   r
   N)django.core.management.baser   django.utils.module_loadingr   rest_frameworkr   rest_framework.schemasr   rest_framework.schemas.openapir   r   r   r
   rK   r   r   <module>rQ      s    3 3 3 3 3 3 5 5 5 5 5 5 $ $ $ $ $ $ * * * * * * : : : : : :; ; ; ; ;k ; ; ; ; ;r   