§
    ZQd  ã                   ó¬   — d Z 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dl	mZ  G d„ d	e¦  «        Zd
Zn# e$ r dZY nw xY w G d„ de¦  «        ZdS )zCdistutils.command.check

Implements the Distutils 'check' command.
é    )ÚCommand)ÚDistutilsSetupError)ÚReporter)ÚParser)Úfrontend)Únodesc                   ó    — e Zd Z	 	 dd„Zd„ ZdS )ÚSilentReporterNr   ÚasciiÚreplacec           
      óJ   — g | _         t          j        | |||||||¦  «         d S ©N)Úmessagesr   Ú__init__)ÚselfÚsourceÚreport_levelÚ
halt_levelÚstreamÚdebugÚencodingÚerror_handlers           ú./usr/lib/python3.11/distutils/command/check.pyr   zSilentReporter.__init__   s9   € àˆDŒMÝÔ˜d F¨L¸*ÀfØ# X¨}ñ>ô >ð >ð >ð >ó    c                 ó„   — | j                              ||||f¦  «         t          j        |g|¢R || j        |         dœ|¤ŽS )N)ÚlevelÚtype)r   Úappendr   Úsystem_messageÚlevels)r   r   ÚmessageÚchildrenÚkwargss        r   r   zSilentReporter.system_message   sc   € ØŒM× Ò  %¨°(¸FÐ!CÑDÔDÐDÝÔ'¨ð =à)1ð=ð =°uØ-1¬[¸Ô-?ð=ð =à5;ð=ð =ð =r   )Nr   r   r   )Ú__name__Ú
__module__Ú__qualname__r   r   © r   r   r
   r
      s=   € € € € € àDHØ>Gð	>ð 	>ð 	>ð 	>ð	=ð 	=ð 	=ð 	=ð 	=r   r
   TFc                   óP   — 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dS )Úcheckz6This 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| _        dS )z Sets default values for options.r   é   N)r,   r*   r.   Ú	_warnings©r   s    r   Úinitialize_optionszcheck.initialize_options0   s#   € à !ˆÔØˆŒØˆŒØˆŒˆˆr   c                 ó   — d S r   r'   r3   s    r   Úfinalize_optionszcheck.finalize_options7   s   € Øˆr   c                 óL   — | xj         dz  c_         t          j        | |¦  «        S )z*Counts the number of warnings that occurs.r1   )r2   r   Úwarn)r   Úmsgs     r   r8   z
check.warn:   s$   € àˆŒ˜!ÑˆŒÝŒ|˜D #Ñ&Ô&Ð&r   c                 óô   — | j         r|                      ¦   «          | j        r2t          r|                      ¦   «          n| j        rt          d¦  «        ‚| j        r| j        dk    rt          d¦  «        ‚dS dS )zRuns the command.zThe docutils package is needed.r   zPlease correct your package.N)r*   Úcheck_metadatar,   ÚHAS_DOCUTILSÚcheck_restructuredtextr.   r   r2   r3   s    r   Úrunz	check.run?   sž   € ð Œ=ð 	"Ø×ÒÑ!Ô!Ð!ØÔ ð 	MÝð MØ×+Ò+Ñ-Ô-Ð-Ð-Ø”ð MÝ)Ð*KÑLÔLÐLð Œ;ð 	F˜4œ>¨AÒ-Ð-Ý%Ð&DÑEÔEÐEð	Fð 	FÐ-Ð-r   c                 ó¶  — | j         j        }g }dD ]7}t          ||¦  «        rt          ||¦  «        s|                     |¦  «         Œ8|r+|                      dd                     |¦  «        z  ¦  «         |j        r |j        s|                      d¦  «         dS dS |j	        r |j
        s|                      d¦  «         dS dS |                      d¦  «         dS )a
  Ensures that all required elements of meta-data are supplied.

        Required fields:
            name, version, URL

        Recommended fields:
            (author and author_email) or (maintainer and maintainer_email)

        Warns if any are missing.
        )ÚnameÚversionÚurlzmissing required meta-data: %sz, zNmissing meta-data: if 'author' supplied, 'author_email' should be supplied toozVmissing meta-data: if 'maintainer' supplied, 'maintainer_email' should be supplied toozkmissing meta-data: either (author and author_email) or (maintainer and maintainer_email) should be suppliedN)Údistributionr*   ÚhasattrÚgetattrr   r8   ÚjoinÚauthorÚauthor_emailÚ
maintainerÚmaintainer_email)r   r*   ÚmissingÚattrs       r   r;   zcheck.check_metadataO   sJ  € ð Ô$Ô-ˆàˆØ.ð 	%ð 	%ˆDÝ˜H dÑ+Ô+ð %µ¸À$Ñ0GÔ0Gð %Ø—’˜tÑ$Ô$Ð$øàð 	NØ�IŠIÐ6¸$¿)º)ÀGÑ:LÔ:LÑLÑMÔMÐMØŒ?ð 	,ØÔ(ð CØ—	’	ð Bñ Cô Cð Cð Cð CðCð Cð Ô ð 	,ØÔ,ð GØ—	’	ð Fñ Gô Gð Gð Gð GðGð Gð �IŠIð +ñ ,ô ,ð ,ð ,ð ,r   c                 óú   — | j                              ¦   «         }|                      |¦  «        D ]K}|d                              d¦  «        }|€	|d         }n|d         ›d|›d�}|                      |¦  «         ŒLdS )z4Checks if the long string fields are reST-compliant.éÿÿÿÿÚlineNr1   z (line ú))rC   Úget_long_descriptionÚ_check_rst_dataÚgetr8   )r   ÚdataÚwarningrO   s       r   r=   zcheck.check_restructuredtextp   s�   € àÔ ×5Ò5Ñ7Ô7ˆØ×+Ò+¨DÑ1Ô1ð 	ð 	ˆGØ˜2”;—?’? 6Ñ*Ô*ˆDØˆ|Ø! !œ*��à,3°A¬J¨J¨J¸¸¸Ð=�Ø�IŠI�gÑÔÐÐð	ð 	r   c           	      ó.  — | j         j        pd}t          ¦   «         }t          j        t          f¬¦  «                             ¦   «         }d|_        d|_        d|_        t          ||j
        |j        |j        |j        |j        |j        ¬¦  «        }t!          j        |||¬¦  «        }|                     |d¦  «         	 |                     ||¦  «         n8# t(          $ r+}|j                             dd|z  d	i f¦  «         Y d}~nd}~ww xY w|j        S )
z8Returns warnings when the provided data doesn't compile.zsetup.py)Ú
componentsé   N)r   r   r   r   )r   rN   z!Could not finish the parsing: %s.Ú )rC   Úscript_namer   r   Ú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   rT   Úsource_pathÚparserÚsettingsÚreporterrc   Úes           r   rR   zcheck._check_rst_data{   sY  € ð Ô'Ô3ÐA°zˆÝ‘”ˆÝÔ(µV°IÐ>Ñ>Ô>×QÒQÑSÔSˆØˆÔØ"&ˆÔØ"&ˆÔÝ! +Ø"Ô/Ø"Ô-Ø!)Ô!8Ø (¤Ø#+Ô#:Ø(0Ô(MðOñ Oô Oˆõ ”> (¨H¸[ÐIÑIÔIˆØ×Ò˜[¨"Ñ-Ô-Ð-ð	GØ�LŠL˜˜xÑ(Ô(Ð(Ð(øÝð 	Gð 	Gð 	GØÔ×$Ò$ØÐ8¸1Ñ<¸bÀ"ÐEñGô Gð Gð Gð Gð Gð Gð Gøøøøð	Gøøøð Ô Ð s   ÃC Ã
DÃ"!DÄDN)r$   r%   r&   Ú__doc__ÚdescriptionÚuser_optionsÚboolean_optionsr4   r6   r8   r>   r;   r=   rR   r'   r   r   r)   r)   #   s²   € € € € € ðð à7€KðBð Bð B€Lð AÐ@Ð@€Oðð ð ðð ð ð'ð 'ð 'ð
Fð Fð Fð ,ð ,ð ,ðB	ð 	ð 	ð!ð !ð !ð !ð !r   r)   N)rl   Údistutils.corer   Údistutils.errorsr   Údocutils.utilsr   Údocutils.parsers.rstr   Údocutilsr   r   r
   r<   Ú	Exceptionr)   r'   r   r   ú<module>rv      s  ððð ð #Ð "Ð "Ð "Ð "Ð "Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0ðà'Ð'Ð'Ð'Ð'Ð'Ø+Ð+Ð+Ð+Ð+Ð+Ø!Ð!Ð!Ð!Ð!Ð!ØÐÐÐÐÐð=ð =ð =ð =ð =˜ñ =ô =ð =ð €L€LøØð ð ð ð €L€L€Lðøøøð
q!ð q!ð q!ð q!ð q!ˆGñ q!ô q!ð q!ð q!ð q!s   �(9 ¹AÁA