B 11b@sdZddlmZddlmZyTddlmZddlmZddl m Z ddl m Z ddl m Z Gd d d eZd ZWnek rd ZYnXGd ddeZdS)zCdistutils.command.check Implements the Distutils 'check' command. )Command)DistutilsSetupError)Reporter)Parser)frontend)nodes)StringIOc@seZdZd ddZddZdS) SilentReporterNrasciireplacec Cs"g|_t||||||||dS)N)messagesr__init__)selfsource report_level halt_levelstreamdebugencoding error_handlerr}|dd}|dkr:|d}nd|d|f}||qWdS)z4Checks if the long string fields are reST-compliant.lineNr(z %s (line %s))r4Zget_long_description_check_rst_datagetr,)rdataZwarningr:rrrr0ns  zcheck.check_restructuredtextc Cs|jjp d}t}tjtfd}d|_d|_d|_t ||j |j |j |j |j|jd}tj|||d}||dy|||Wn:tk r}z|jdd|d ifWdd}~XYnX|jS) z8Returns warnings when the provided data doesn't compile.zsetup.py)Z componentsN)rrrr)rr9z!Could not finish the parsing: %s.)r4Z script_namerrZ OptionParserZget_default_valuesZ tab_widthZpep_referencesZrfc_referencesr rrZwarning_streamrZerror_encodingZerror_encoding_error_handlerrdocumentZ note_sourceparseAttributeErrorr r)rr= source_pathparserZsettingsZreporterr@errrr;ys*   $zcheck._check_rst_dataN)rrr __doc__Z descriptionZ user_optionsZboolean_optionsr*r+r,r1r.r0r;rrrrr!$s  r!N)rFZdistutils.corerZdistutils.errorsrZdocutils.utilsrZdocutils.parsers.rstrZdocutilsrriorr r/ Exceptionr!rrrrs