
    R1iC                         d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZmZ d dlmZmZ d dlmZ  G d	 d
e      Z G d de      Z G d de      Zy)    )dedent)BaseCommandCommandError)translation)import_string)GENERATOR_STATS)OpenApiJsonRendererOpenApiYamlRenderer)patched_settingsspectacular_settings)validate_schemac                       e Zd Zy)SchemaGenerationErrorN__name__
__module____qualname__     s/home/cursorai/projects/iching/venv/lib/python3.12/site-packages/drf_spectacular/management/commands/spectacular.pyr   r          r   r   c                       e Zd Zy)SchemaValidationErrorNr   r   r   r   r   r      r   r   r   c                   .    e Zd Z ed      Zd Zd Zd Zy)Commanda  
        Generate a spectacular OpenAPI3-compliant schema for your API.

        The warnings serve as a indicator for where your API could not be properly
        resolved. @extend_schema and @extend_schema_field are your friends.
        The spec should be valid in any case. If not, please open an issue
        on github: https://github.com/tfranzel/drf-spectacular/issues

        Remember to configure your APIs meta data like servers, version, url,
        documentation and so on in your SPECTACULAR_SETTINGS."
    c                    |j                  ddddgdt               |j                  ddd t               |j                  d	d
d t               |j                  ddd t               |j                  dddd       |j                  dddd       |j                  ddd t               |j                  ddd t               |j                  dddd       |j                  ddd t               y )Nz--formatformatopenapiopenapi-json)destchoicesdefaulttypez	--urlconfurlconf)r    r"   r#   z--generator-classgenerator_classz--filefilez--fail-on-warnfail_on_warnF
store_true)r    r"   actionz
--validatevalidatez--api-versionapi_versionz--langlangz--colorcolorz--custom-settingscustom_settings)add_argumentstr)selfparsers     r   add_argumentszCommand.add_arguments"   s    JX	>?ZdmtwxKiCP/6GQU\_`H64cJ,>5YefLz5Q]^O-TWXH64cJIGU<X/6GQU\_`r   c                    |d   rt        |d         }nt        j                  }t        j                          |d   rt        j
                           ||d   |d         }|d   rt        |d         }nd }t        |      5  |d   r5t        j                  |d         5  |j                  d d	      }d d d        n|j                  d d	      }d d d        t        j                          |d
   rt        rt        d      |d   r	 t               | j                  |d         }|j!                  i       }	|d   r*t#        |d   d      5 }
|
j%                  |	       d d d        y | j&                  j%                  |	j)                                y # 1 sw Y   xY w# 1 sw Y   xY w# t        $ r}t        |      d }~ww xY w# 1 sw Y   y xY w)Nr%   r-   r$   r+   )r$   r+   r.   r,   T)requestpublicr'   z$Failing as requested due to warningsr*   r   )renderer_contextr&   wb)r   r   DEFAULT_GENERATOR_CLASSr   enable_trace_linenoenable_colorr   r   override
get_schemaemit_summaryr   r   	Exceptionr   get_rendererrenderopenwritestdoutdecode)r1   argsoptionsr%   	generatorr.   schemaerendereroutputfs              r   handlezCommand.handle.   s   $%+G4E,FGO2JJO++-7((*#I&.
	
 $%+G4E,FGO"Oo.v ))'&/:&11$t1LF ;: #--d4-H / 	$$&>"'(NOO:/' $$WX%67"=6?gfot, -, KKfmmo.- ;: /.  /+A../ -,sH   F !F5F 	F, GF	F  F),	G5G  GGc                 0    t         t        d|   } |       S )N)r   r   )r
   r	   )r1   r   renderer_clss      r   r@   zCommand.get_renderer]   s#    */
  ~r   N)r   r   r   r   helpr3   rN   r@   r   r   r   r   r      s"     
 
	D
a-/^r   r   N)textwrapr   django.core.management.baser   r   django.utilsr   django.utils.module_loadingr   drf_spectacular.drainager   drf_spectacular.renderersr	   r
   drf_spectacular.settingsr   r   drf_spectacular.validationr   r   r   r   r   r   r   <module>rZ      sC     A $ 5 4 N K 6	L 		L 	Mk Mr   