ó {fc@sàdZdZddlmZddlmZddlmZypddlm Z ddl m Z ddl m Z dd l mZdd lmZd e fd „ƒYZeZWnek rĊeZnXd efd„ƒYZdS(sCdistutils.command.check Implements the Distutils 'check' command. s$Id$i˙˙˙˙(tCommand(tPKG_INFO_ENCODING(tDistutilsSetupError(tReporter(tParser(tfrontend(tnodes(tStringIOtSilentReportercBs&eZddddd„Zd„ZRS(itasciitreplacec Cs/g|_tj||||||||ƒdS(N(tmessagesRt__init__(tselftsourcet report_levelt halt_leveltstreamtdebugtencodingt error_handler((s//usr/lib64/python2.7/distutils/command/check.pyR s cOsB|jj||||fƒtj|d|d|j|||ŽS(Ntlevelttype(R tappendRtsystem_messagetlevels(R Rtmessagetchildrentkwargs((s//usr/lib64/python2.7/distutils/command/check.pyRs N(t__name__t __module__tNoneR R(((s//usr/lib64/python2.7/distutils/command/check.pyRstcheckcBsqeZdZdZdddgZdddgZd „Zd „Zd „Zd„Z d„Z d„Z d„Z RS(s6This command checks the meta-data of the package. s"perform some checks on the packagetmetadatatmsVerify meta-datatrestructuredtexttrsEChecks if long string meta-data syntax are reStructuredText-complianttstricttss(Will exit with an error if a check failscCs(d|_d|_d|_d|_dS(s Sets default values for options.iiN(R#R!R%t _warnings(R ((s//usr/lib64/python2.7/distutils/command/check.pytinitialize_options3s   cCsdS(N((R ((s//usr/lib64/python2.7/distutils/command/check.pytfinalize_options:scCs|jd7_tj||ƒS(s*Counts the number of warnings that occurs.i(R'Rtwarn(R tmsg((s//usr/lib64/python2.7/distutils/command/check.pyR*=scCsx|jr|jƒn|jrMtr2|jƒqM|jrMtdƒ‚qMn|jrt|jdkrttdƒ‚ndS(sRuns the command.sThe docutils package is needed.isPlease correct your package.N(R!tcheck_metadataR#t HAS_DOCUTILStcheck_restructuredtextR%RR'(R ((s//usr/lib64/python2.7/distutils/command/check.pytrunBs     cCsß|jj}g}x<dD]4}t||ƒo:t||ƒs|j|ƒqqW|rt|jddj|ƒƒn|jr|jsÛ|jddƒqÛn>|j rĈ|j sÛ|jdd ƒqÛn|jd d d ƒd S(sÏEnsures that all required elements of meta-data are supplied. name, version, URL, (author and author_email) or (maintainer and maintainer_email)). Warns if any are missing. tnametversionturlsmissing required meta-data: %ss, s)missing meta-data: if 'author' supplied, s#'author_email' must be supplied toos-missing meta-data: if 'maintainer' supplied, s''maintainer_email' must be supplied toos4missing meta-data: either (author and author_email) s%or (maintainer and maintainer_email) smust be suppliedN(R0R1R2( t distributionR!thasattrtgetattrRR*tjointauthort author_emailt maintainertmaintainer_email(R R!tmissingtattr((s//usr/lib64/python2.7/distutils/command/check.pyR,Rs$        cCs›|jjƒ}t|tƒs0|jtƒ}nxd|j|ƒD]S}|djdƒ}|dkrr|d}nd|d|f}|j |ƒq@WdS(s4Checks if the long string fields are reST-compliant.i˙˙˙˙tlineis %s (line %s)N( R3tget_long_descriptiont isinstancetunicodetdecodeRt_check_rst_datatgetRR*(R tdatatwarningR=((s//usr/lib64/python2.7/distutils/command/check.pyR.ps  c Cs|jjpd}tƒ}tjdtfƒjƒ}d|_d |_d |_ t ||j |j d|j d|jd|jd|jƒ}tj||d|ƒ}|j|d ƒy|j||ƒWn3tk rŝ}|jjd d |d ifƒnX|jS( s8Returns warnings when the provided data doesn't compile.ssetup.pyt componentsiRRRRRi˙˙˙˙s!Could not finish the parsing: %s.tN(R3t script_nameRRt OptionParsertget_default_valuest tab_widthRtpep_referencestrfc_referencesRRRtwarning_streamRterror_encodingterror_encoding_error_handlerRtdocumentt note_sourcetparsetAttributeErrorR R(R RDt source_pathtparsertsettingstreporterRQte((s//usr/lib64/python2.7/distutils/command/check.pyRB}s*          (R!R"sVerify meta-data(R#R$sEChecks if long string meta-data syntax are reStructuredText-compliant(R%R&s(Will exit with an error if a check fails( RRt__doc__t descriptiont user_optionstboolean_optionsR(R)R*R/R,R.RB(((s//usr/lib64/python2.7/distutils/command/check.pyR &s       N(RZt __revision__tdistutils.coreRtdistutils.distRtdistutils.errorsRtdocutils.utilsRtdocutils.parsers.rstRtdocutilsRRRRtTrueR-t ImportErrortFalseR (((s//usr/lib64/python2.7/distutils/command/check.pyts