U e5d @ s d dl mZ d dlmZ zTd dlmZ d dlmZ d dlm Z d dlm Z d dlmZ G dd d eZ d ZW n ek r dZY nX G dd d eZdS ) )Command)DistutilsSetupError)Reporter)Parser)frontend)nodes)StringIOc @ s e Zd Zd ddZdd ZdS ) SilentReporterNr asciireplacec C s" g | _ t| ||||||| d S N)messagesr __init__)selfsourcereport_level halt_levelstreamdebugencoding error_handler r //usr/lib64/python3.8/distutils/command/check.pyr s zSilentReporter.__init__c O s6 | j ||||f tj|f||| j| d|S )N)leveltype)r appendr system_messageZlevels)r r messageZchildrenkwargsr r r r s zSilentReporter.system_message)Nr r r )__name__ __module____qualname__r r r r r r r s r TFc @ s\ e Zd ZdZdddgZdddgZdd Zd d Zdd Zdd Z dd Z dd Zdd ZdS )checkz"perform some checks on the package)metadatamzVerify meta-data)restructuredtextrzEChecks if long string meta-data syntax are reStructuredText-compliant)strictsz(Will exit with an error if a check failsr# r% r' c C s d| _ d| _d| _d| _d S )Nr )r% r# r' _warningsr r r r initialize_options1 s zcheck.initialize_optionsc C s d S r r r+ r r r finalize_options8 s zcheck.finalize_optionsc C s | j d7 _ t| |S )Nr) )r* r warn)r msgr r r r. ; s z check.warnc C sL | j r| | jr0tr"| n| jr0td| jrH| jdkrHtdd S )NzThe docutils package is needed.r zPlease correct your package.)r# check_metadatar% HAS_DOCUTILScheck_restructuredtextr' r r* r+ r r r run@ s z check.runc C s | j j}g }dD ]"}t||r(t||s|| q|rL| dd| |jrd|js| d n"|j r||j s| d n | d d S )N)nameversionZurlzmissing 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# hasattrgetattrr r. joinZauthorZauthor_emailZ maintainerZmaintainer_email)r r# Zmissingattrr r r r0 P s zcheck.check_metadatac C sX | j }| |D ]>}|d d}|d kr8|d }nd|d |f }| | qd S )Nliner) z%s (line %s))r6 Zget_long_description_check_rst_datagetr. )r dataZwarningr<