B
3W5= @ s d Z ddlmZ ddlmZ yHddlmZ ddlmZ ddl m
Z
ddl mZ G dd d eZd
Z
W n ek
r| dZ
Y nX G dd
d
eZdS )zCdistutils.command.check
Implements the Distutils 'check' command.
)Command)DistutilsSetupError)Reporter)Parser)frontend)nodesc @ s e Zd Zd ddZdd ZdS )
SilentReporterNr asciireplacec
C s" g | _ t| ||||||| d S )N)messagesr __init__)selfsourcereport_level
halt_levelstreamdebugencoding
error_handler r /builddir/build/BUILDROOT/alt-python37-setuptools-58.3.0-4.el9.x86_64/opt/alt/python37/lib/python3.7/site-packages/setuptools/_distutils/command/check.pyr s zSilentReporter.__init__c O s6 | j ||||f tj|f||| j| d|S )N)leveltype)r appendr system_messagelevels)r
r messagechildrenkwargsr 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 ZdZdZdddgZdddgZd d
Zdd Zd
d Z dd Z
dd Zdd Zdd Z
dS )checkz6This command checks the meta-data of the package.
z"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| _dS )z Sets default values for options.r N)r% r# r' _warnings)r
r r r initialize_options0 s zcheck.initialize_optionsc C s d S )Nr )r
r r r finalize_options7 s zcheck.finalize_optionsc C s | j d7 _ t| |S )z*Counts the number of warnings that occurs.r) )r* r warn)r
msgr r r r- : s z
check.warnc C sL | j r| | jr0tr"| n| jr0td| jrH| jdkrHtddS )zRuns the command.zThe docutils package is needed.r zPlease correct your package.N)r# check_metadatar% HAS_DOCUTILScheck_restructuredtextr' r r* )r
r r r run? s
z check.runc C s | j j}g }x*dD ]"}t||r*t||s|| qW |rP| dd| |jrh|js| d n"|j r|j
s| d n
| d dS )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.
)nameversionurlzmissing 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# hasattrgetattrr r- joinauthorauthor_email
maintainermaintainer_email)r
r# missingattrr r r r/ O s
zcheck.check_metadatac C s\ | j }xL| |D ]>}|d d}|dkr:|d }nd|d |f }| | qW dS )z4Checks if the long string fields are reST-compliant.lineNr) z%s (line %s))r6 get_long_description_check_rst_datagetr- )r
datawarningrA r r r r1 p s
zcheck.check_restructuredtextc
C s | j jp
d}t }tjtfd }d|_d|_d|_t ||j
|j|j|j
|j|jd}tj|||d}||d y||| W n: tk
r } z|jdd| d i f W dd}~X Y nX |jS )
z8Returns warnings when the provided data doesn't compile.zsetup.py)
components N)r r r r )r r@ z!Could not finish the parsing: %s. )r6 script_namer r OptionParserget_default_valuesZ tab_widthZpep_referencesZrfc_referencesr r r Zwarning_streamr Zerror_encodingZerror_encoding_error_handlerr documentZnote_sourceparseAttributeErrorr r )r
rE source_pathparsersettingsZreporterrM er r r rC { s*
$zcheck._check_rst_dataN)r r r! __doc__descriptionuser_optionsboolean_optionsr+ r, r- r2 r/ r1 rC r r r r r" # s
!r" N)rT distutils.corer distutils.errorsr Zdocutils.utilsr Zdocutils.parsers.rstr Zdocutilsr r r r0 Exceptionr" r r r r