Ë
    óÇ:jR  ã                   óö   — d Z ddlZddlmZ ddlmZ ddlmZ  ej                  e	«      5  ddl
ZddlZddlZddlZ G d„ dej                  j                   «      Zddd«        G d	„ d
e«      Zy# 1 sw Y   ŒxY w)zCdistutils.command.check

Implements the Distutils 'check' command.
é    N)ÚClassVaré   )ÚCommand)ÚDistutilsSetupErrorc                   ó.   ‡ — e Zd Z	 	 	 	 dˆ fd„	Zd„ Zˆ xZS )ÚSilentReporterc           	      ó>   •— g | _         t        ‰| �	  |||||||«       y ©N)ÚmessagesÚsuperÚ__init__)	ÚselfÚsourceÚreport_levelÚ
halt_levelÚstreamÚdebugÚencodingÚerror_handlerÚ	__class__s	           €úx/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/setuptools/_distutils/command/check.pyr   zSilentReporter.__init__   s(   ø€ ð ˆDŒMÜ‰GÑØ˜ j°&¸%ÀÈ=õó    c                 ó¦   — | j                   j                  ||||f«       t        j                  j                  |g|¢­|| j
                  |   dœ|¤ŽS )N)ÚlevelÚtype)r   ÚappendÚdocutilsÚnodesÚsystem_messageÚlevels)r   r   ÚmessageÚchildrenÚkwargss        r   r   zSilentReporter.system_message"   sZ   € Ø�M‰M× Ñ  %¨°(¸FÐ!CÔDÜ—>‘>×0Ñ0ØðØ"ñØ*/°d·k±kÀ%Ñ6HñØLRñð r   )NFÚasciiÚreplace)Ú__name__Ú
__module__Ú__qualname__r   r   Ú__classcell__)r   s   @r   r   r      s   ø„ ð ØØØ#õ	ö	r   r   c                   óˆ   — e Zd ZU dZdZg d¢Zeeee	e	e	f         e
d<   g d¢Zeee	      e
d<   d„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zy)Úcheckz1This command checks the meta-data of the package.z"perform some checks on the package))ÚmetadataÚmzVerify meta-data)ÚrestructuredtextÚrzEChecks if long string meta-data syntax are reStructuredText-compliant)ÚstrictÚsz(Will exit with an error if a check failsÚuser_options)r,   r.   r0   Úboolean_optionsc                 ó<   — d| _         d| _        d| _        d| _        y)z Sets default values for options.Fé   r   N)r.   r,   r0   Ú	_warnings©r   s    r   Úinitialize_optionszcheck.initialize_options9   s   € à %ˆÔØˆŒØˆŒØˆ�r   c                  ó   — y r
   © r7   s    r   Úfinalize_optionszcheck.finalize_options@   s   € Ør   c                 óX   — | xj                   dz  c_         t        j                  | |«      S )z*Counts the number of warnings that occurs.r5   )r6   r   Úwarn)r   Úmsgs     r   r=   z
check.warnC   s!   € à�Š˜!Ñ�Ü�|‰|˜D #Ó&Ð&r   c                 óV  — | j                   r| j                  «        | j                  r5dt        «       v r	 | j	                  «        n| j                  rt        d«      ‚| j                  r| j                  dkD  rt        d«      ‚yy# t
        $ r}t        t        |«      «      ‚d}~ww xY w)zRuns the command.r   NzThe docutils package is needed.r   zPlease correct your package.)
r,   Úcheck_metadatar.   ÚglobalsÚcheck_restructuredtextÚ	TypeErrorr   Ústrr0   r6   )r   Úexcs     r   Úrunz	check.runH   s˜   € ð �=Š=Ø×ÑÔ!Ø× Ò ØœW›YÑ&ð8Ø×/Ñ/Õ1ð —’Ü)Ð*KÓLÐLð �;Š;˜4Ÿ>™>¨AÒ-Ü%Ð&DÓEÐEð .ˆ;øô !ò 8Ü-¬c°#«hÓ7Ð7ûð8ús   ¶B Â	B(ÂB#Â#B(c                 óØ   — | j                   j                  }dD �cg c]  }t        ||d«      rŒ|‘Œ }}|r0| j                  dj	                  dj                  |«      «      «       yyc c}w )z�Ensures that all required elements of meta-data are supplied.

        Required fields:
            name, version

        Warns if any are missing.
        )ÚnameÚversionNzmissing required meta-data: {}z, )Údistributionr,   Úgetattrr=   ÚformatÚjoin)r   r,   ÚattrÚmissings       r   r@   zcheck.check_metadata[   sm   € ð ×$Ñ$×-Ñ-ˆð 1ö
Ø¼ÀÈ$ÐPTÕ8UŠDð
ˆð 
ñ Ø�I‰IÐ6×=Ñ=¸d¿i¹iÈÓ>PÓQÕRð ùò	
s
   ›A'®A'c                 óÔ   — | j                   j                  «       }| j                  |«      D ]:  }|d   j                  d«      }|€|d   }n|d   › d|› d�}| j	                  |«       Œ< y)z4Checks if the long string fields are reST-compliant.éÿÿÿÿÚlineNr5   z (line ú))rJ   Úget_long_descriptionÚ_check_rst_dataÚgetr=   )r   ÚdataÚwarningrR   s       r   rB   zcheck.check_restructuredtextl   sr   € à× Ñ ×5Ñ5Ó7ˆØ×+Ñ+¨DÓ1ò 	ˆGØ˜2‘;—?‘? 6Ó*ˆDØˆ|Ø! !™*‘à$ Q™Z˜L¨°¨v°QÐ7�Ø�I‰I�gÕñ	r   c           	      ó(  — | j                   j                  xs d}t        j                  j                  j                  «       }t        j                  j                  t        j                  j                  j
                  f¬«      j                  «       }d|_	        d|_
        d|_        t        ||j                  |j                  |j                  |j                   |j"                  |j$                  ¬«      }t        j&                  j)                  |||¬«      }|j+                  |d«       	 |j-                  ||«       |j2                  S # t.        t0        f$ r8}|j2                  j5                  dd|› d	�d
i f«       Y d}~|j2                  S d}~ww xY w)z8Returns warnings when the provided data doesn't compile.zsetup.py)Ú
componentsé   N)r   r   r   r   )r   rQ   zCould not finish the parsing: ú.Ú )rJ   Úscript_namer   ÚparsersÚrstÚParserÚfrontendÚOptionParserÚget_default_valuesÚ	tab_widthÚpep_referencesÚrfc_referencesr   r   r   Úwarning_streamr   Úerror_encodingÚerror_encoding_error_handlerr   ÚdocumentÚnote_sourceÚparseÚAttributeErrorrC   r   r   )r   rW   Úsource_pathÚparserÚsettingsÚreporterrk   Úes           r   rU   zcheck._check_rst_dataw   st  € ð ×'Ñ'×3Ñ3ÒA°zˆÜ×!Ñ!×%Ñ%×,Ñ,Ó.ˆÜ×$Ñ$×1Ñ1Ü ×(Ñ(×,Ñ,×3Ñ3Ð5ð 2ó 
ç
Ñ
Ó
ð 	ð ˆÔØ"&ˆÔØ"&ˆÔÜ!ØØ×!Ñ!Ø×ÑØ×*Ñ*Ø—.‘.Ø×,Ñ,Ø"×?Ñ?ô
ˆô —>‘>×*Ñ*¨8°XÀkÐ*ÓRˆØ×Ñ˜[¨"Ô-ð	Ø�L‰L˜˜xÔ(ð × Ñ Ð øô ¤	Ð*ò 	Ø×Ñ×$Ñ$ØØ0°°°1Ð5ØØð	&÷ ð ð × Ñ Ð ûð	ús   Ä,E
 Å
FÅ#FÆFN)r&   r'   r(   Ú__doc__Údescriptionr2   r   ÚlistÚtuplerD   Ú__annotations__r3   r8   r;   r=   rF   r@   rB   rU   r:   r   r   r+   r+   )   sh   … Ù;à6€Kò:€L�(˜4  c¨3° mÑ 4Ñ5Ñ6ó ò ,V€O�X˜d 3™iÑ(ÓUòòò'ò
Fò&Sò"	ó!!r   r+   )rt   Ú
contextlibÚtypingr   Úcorer   Úerrorsr   ÚsuppressÚImportErrorÚdocutils.frontendr   Údocutils.nodesÚdocutils.parsers.rstÚdocutils.utilsÚutilsÚReporterr   r+   r:   r   r   ú<module>r…      sm   ðñó
 Ý å Ý (à€Z×Ñ˜Ó%ñ ÛÛÛÛô˜Ÿ™×0Ñ0ô ÷ô:o!ˆGõ o!÷;ð ús   «0A/Á/A8