
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,aß  ã                   @   sš   d dl mZ d dlmZ zTd 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	„ d	eƒZd
ZW n ek
r„   dZY nX G dd„ deƒZdS )é    )ÚCommand)ÚDistutilsSetupError)ÚReporter)ÚParser)Úfrontend)Únodes)ÚStringIOc                   @   s   e Zd Zd	dd„Zdd„ ZdS )
ÚSilentReporterNr   ÚasciiÚreplacec              
   C   s"   g | _ t | |||||||¡ d S ©N)Úmessagesr   Ú__init__)ÚselfÚsourceÚreport_levelÚ
halt_levelÚstreamÚdebugÚencodingÚerror_handler© r   ú</opt/alt/python38/lib64/python3.8/distutils/command/check.pyr      s      ÿzSilentReporter.__init__c                 O   s6   | j  ||||f¡ tj|f|ž|| j| dœ|—ŽS )N)ÚlevelÚtype)r   Úappendr   Úsystem_messageZlevels)r   r   ÚmessageZchildrenÚkwargsr   r   r   r      s    þÿþzSilentReporter.system_message)Nr   r
   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r	      s         ÿ
r	   TFc                   @   s\   e Zd ZdZdddgZdddgZdd	„ Zd
d„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ ZdS )Úcheckz"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 failsr#   r%   r'   c                 C   s   d| _ d| _d| _d| _d S )Nr   é   )r%   r#   r'   Ú	_warnings©r   r   r   r   Úinitialize_options1   s    zcheck.initialize_optionsc                 C   s   d S r   r   r+   r   r   r   Úfinalize_options8   s    zcheck.finalize_optionsc                 C   s   |  j d7  _ t | |¡S )Nr)   )r*   r   Úwarn)r   Úmsgr   r   r   r.   ;   s    z
check.warnc                 C   sL   | j r|  ¡  | jr0tr"|  ¡  n| jr0tdƒ‚| jrH| jdkrHtdƒ‚d S )NzThe docutils package is needed.r   zPlease correct your package.)r#   Úcheck_metadatar%   ÚHAS_DOCUTILSÚcheck_restructuredtextr'   r   r*   r+   r   r   r   Úrun@   s    
z	check.runc                 C   sŠ   | j j}g }dD ]"}t||ƒr(t||ƒs| |¡ q|rL|  dd |¡ ¡ |jrd|js†|  d¡ n"|j	r||j
s†|  d¡ n
|  d¡ d S )N)ÚnameÚversionZurlzmissing required meta-data: %sz, zLmissing meta-data: if 'author' supplied, 'author_email' must be supplied toozTmissing meta-data: if 'maintainer' supplied, 'maintainer_email' must be supplied toozimissing meta-data: either (author and author_email) or (maintainer and maintainer_email) must be supplied)Údistributionr#   ÚhasattrÚgetattrr   r.   ÚjoinZauthorZauthor_emailZ
maintainerZmaintainer_email)r   r#   ZmissingÚattrr   r   r   r0   P   s    zcheck.check_metadatac                 C   sX   | j  ¡ }|  |¡D ]>}|d  d¡}|d kr8|d }nd|d |f }|  |¡ qd S )NéÿÿÿÿÚliner)   z%s (line %s))r6   Zget_long_descriptionÚ_check_rst_dataÚgetr.   )r   ÚdataZwarningr<   r   r   r   r2   n   s    

zcheck.check_restructuredtextc              
   C   sÆ   | j jp
d}tƒ }tjtfd� ¡ }d|_d |_d |_t	||j
|j|j|j|j|jd�}tj|||d�}| |d¡ z| ||¡ W n: tk
r¾ } z|j dd| di f¡ W 5 d }~X Y nX |jS )	Nzsetup.py)Z
componentsé   )r   r   r   r   )r   r;   z!Could not finish the parsing: %s.Ú )r6   Zscript_namer   r   ZOptionParserZget_default_valuesZ	tab_widthZpep_referencesZrfc_referencesr	   r   r   Zwarning_streamr   Zerror_encodingZerror_encoding_error_handlerr   ÚdocumentZnote_sourceÚparseÚAttributeErrorr   r   )r   r?   Úsource_pathÚparserZsettingsZreporterrB   Úer   r   r   r=   y   s.    úÿzcheck._check_rst_dataN)r   r    r!   ZdescriptionZuser_optionsZboolean_optionsr,   r-   r.   r3   r0   r2   r=   r   r   r   r   r"   $   s   ü
r"   N)Zdistutils.corer   Zdistutils.errorsr   Zdocutils.utilsr   Zdocutils.parsers.rstr   Zdocutilsr   r   Úior   r	   r1   Ú	Exceptionr"   r   r   r   r   Ú<module>   s   
