U e5d@sddlmZddlmZzTddlmZddlmZddlm Z ddlm Z ddl m Z Gdd d eZ d ZWnek rd ZYnXGd d d eZdS))Command)DistutilsSetupError)Reporter)Parser)frontend)nodes)StringIOc@seZdZd ddZddZdS) SilentReporterNrasciireplacec Cs"g|_t||||||||dSN)messagesr__init__)selfsource report_level halt_levelstreamdebugencoding error_handlerr//usr/lib64/python3.8/distutils/command/check.pyrs zSilentReporter.__init__cOs6|j||||ftj|f|||j|d|S)N)leveltype)r appendrsystem_messageZlevels)rrmessageZchildrenkwargsrrrrszSilentReporter.system_message)Nrr r )__name__ __module__ __qualname__rrrrrrr s  r TFc@s\eZdZdZdddgZdddgZdd Zd d Zd d ZddZ ddZ ddZ ddZ dS)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'cCsd|_d|_d|_d|_dS)Nr)r%r#r' _warningsrrrrinitialize_options1szcheck.initialize_optionscCsdSr rr+rrrfinalize_options8szcheck.finalize_optionscCs|jd7_t||S)Nr))r*rwarn)rmsgrrrr.;sz check.warncCsL|jr||jr0tr"|n|jr0td|jrH|jdkrHtddS)NzThe docutils package is needed.rzPlease correct your package.)r#check_metadatar% HAS_DOCUTILScheck_restructuredtextr'rr*r+rrrrun@s z check.runcCs|jj}g}dD]"}t||r(t||s||q|rL|dd||jrd|js|dn"|j r||j s|dn |ddS)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#hasattrgetattrrr.joinZauthorZ author_emailZ maintainerZmaintainer_email)rr#Zmissingattrrrrr0Ps   zcheck.check_metadatacCsX|j}||D]>}|dd}|dkr8|d}nd|d|f}||qdS)Nliner)z %s (line %s))r6Zget_long_description_check_rst_datagetr.)rdataZwarningr<rrrr2ns  zcheck.check_restructuredtextc Cs|jjp d}t}tjtfd}d|_d|_d|_t ||j |j |j |j |j|jd}tj|||d}||dz|||Wn:tk r}z|jdd|difW5d}~XYnX|jS) Nzsetup.py)Z components)rrrr)rr;z!Could not finish the parsing: %s.)r6Z script_namerrZ OptionParserZget_default_valuesZ tab_widthZpep_referencesZrfc_referencesr rrZwarning_streamrZerror_encodingZerror_encoding_error_handlerrdocumentZ note_sourceparseAttributeErrorr r)rr? source_pathparserZsettingsZreporterrBerrrr=ys.  zcheck._check_rst_dataN) rr r!Z descriptionZ user_optionsZboolean_optionsr,r-r.r3r0r2r=rrrrr"$s  r"N)Zdistutils.corerZdistutils.errorsrZdocutils.utilsrZdocutils.parsers.rstrZdocutilsrriorr r1 Exceptionr"rrrrs