Ë
    
_ßd  ã                   óê   — d Z ddl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é   )Ú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	           €úE/usr/lib/python3/dist-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ØðØ@HñØ$¨4¯;©;°uÑ+=ñØLRñð r   )Nr   ÚasciiÚreplace)Ú__name__Ú
__module__Ú__qualname__r   r   Ú__classcell__)r   s   @r   r   r      s   ø„ ð ØØØ#õ	ö	r   r   c                   óN   — e Zd ZdZdZg d¢Zg d¢Z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)r+   r-   r/   c                 ó<   — d| _         d| _        d| _        d| _        y)z Sets default values for options.r   é   N)r-   r+   r/   Ú	_warnings©r   s    r   Úinitialize_optionszcheck.initialize_options:   s   € à !ˆÔØˆŒØˆŒØˆ�r   c                  ó   — y r	   © r4   s    r   Úfinalize_optionszcheck.finalize_optionsA   s   € Ør   c                 óX   — | xj                   dz  c_         t        j                  | |«      S )z*Counts the number of warnings that occurs.r2   )r3   r   Úwarn)r   Úmsgs     r   r:   z
check.warnD   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   Ústrr/   r3   )r   Úexcs     r   Úrunz	check.runI   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                  }g }dD ]!  }t        ||d«      rŒ|j                  |«       Œ# |r$| j	                  ddj                  |«      z  «       yy)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: %sz, )Údistributionr+   Úgetattrr   r:   Újoin)r   r+   ÚmissingÚattrs       r   r=   zcheck.check_metadata\   sf   € ð ×$Ñ$×-Ñ-ˆàˆØ%ò 	%ˆDÜ˜8 T¨4Õ0Ø—‘˜tÕ$ð	%ñ Ø�I‰IÐ6¸¿¹À7Ó9KÑKÕLð r   c                 óè   — | j                   j                  «       }| j                  |«      D ]D  }|d   j                  d«      }|€|d   }ndj	                  |d   |«      }| j                  |«       ŒF y)z4Checks if the long string fields are reST-compliant.éÿÿÿÿÚlineNr2   z{} (line {}))rG   Úget_long_descriptionÚ_check_rst_dataÚgetÚformatr:   )r   ÚdataÚwarningrN   s       r   r?   zcheck.check_restructuredtextn   sr   € à× Ñ ×5Ñ5Ó7ˆØ×+Ñ+¨DÓ1ò 	ˆGØ˜2‘;—?‘? 6Ó*ˆDØˆ|Ø! !™*‘à(×/Ñ/°¸±
¸DÓA�Ø�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-                  ||«       |j0                  S # t.        $ r7}|j0                  j3                  dd|z  d	i f«       Y d}~|j0                  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   rM   z!Could not finish the parsing: %s.Ú )rG   Ú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ÚAttributeErrorr
   r   )r   rS   Úsource_pathÚparserÚsettingsÚreporterrf   Úes           r   rP   zcheck._check_rst_datay   sg  € ð ×'Ñ'×3Ñ3ÒA°zˆÜ×!Ñ!×%Ñ%×,Ñ,Ó.ˆÜ×$Ñ$×1Ñ1Ü ×(Ñ(×,Ñ,×3Ñ3Ð5ð 2ó 
ç
Ñ
Ó
ð 	ð ˆÔØ"&ˆÔØ"&ˆÔÜ!ØØ×!Ñ!Ø×ÑØ×*Ñ*Ø—.‘.Ø×,Ñ,Ø"×?Ñ?ô
ˆô —>‘>×*Ñ*¨8°XÀkÐ*ÓRˆØ×Ñ˜[¨"Ô-ð	Ø�L‰L˜˜xÔ(ð × Ñ Ð øô ò 	Ø×Ñ×$Ñ$ØÐ8¸1Ñ<¸bÀ"ÐE÷ð ð × Ñ Ð ûð	ús   Ä,E
 Å
	F
Å"FÆF
N)r%   r&   r'   Ú__doc__ÚdescriptionÚuser_optionsÚboolean_optionsr5   r8   r:   rC   r=   r?   rP   r7   r   r   r*   r*   '   s>   „ Ù;à6€Kò€Lò A€Oòòò'ò
Fò&Mò$	ó!r   r*   )ro   Ú
contextlibÚcorer   Úerrorsr   ÚsuppressÚImportErrorÚdocutils.utilsr   Údocutils.parsers.rstÚdocutils.frontendÚdocutils.nodesÚutilsÚReporterr   r*   r7   r   r   ú<module>r~      sj   ðñó å Ý (à€Z×Ñ˜Ó%ñ ÛÛÛÛô˜Ÿ™×0Ñ0ô ÷ô:p!ˆGõ p!÷;ð ús   ¥0A)Á)A2