ž «ÿflc @sËdZddlmZddlmZypddlmZddlmZddl m Z ddl m Z ddl m Z Gd d „d eƒZdZWnek r°dZYnXGd d „d eƒZd S(uCdistutils.command.check Implements the Distutils 'check' command. i(uCommand(uDistutilsSetupError(uReporter(uParser(ufrontend(unodes(uStringIOcBs8|EeZdZdddddd„Zdd„ZdS( uSilentReporteriuasciiureplacec Cs/g|_tj||||||||ƒdS(N(umessagesuReporteru__init__(uselfusourceu report_levelu halt_levelustreamudebuguencodingu error_handler((u</opt/alt/python33/lib64/python3.3/distutils/command/check.pyu__init__s uSilentReporter.__init__cOsB|jj||||fƒtj|d|d|j|||ŽS(Nulevelutype(umessagesuappendunodesusystem_messageulevels(uselfulevelumessageuchildrenukwargs((u</opt/alt/python33/lib64/python3.3/distutils/command/check.pyusystem_messages uSilentReporter.system_messageN(u__name__u __module__u __qualname__uNoneu__init__usystem_message(u __locals__((u</opt/alt/python33/lib64/python3.3/distutils/command/check.pyuSilentReportersuSilentReportercBs’|EeZdZdZdZdddgZddd gZd d „Zdd„Zdd„Z dd„Z dd„Z dd„Z dd„Z dS(uchecku6This command checks the meta-data of the package. u"perform some checks on the packageumetadataumuVerify meta-dataurestructuredtexturuEChecks if long string meta-data syntax are reStructuredText-compliantustrictusu(Will exit with an error if a check failscCs(d|_d|_d|_d|_dS(u Sets default values for options.iiN(urestructuredtextumetadataustrictu _warnings(uself((u</opt/alt/python33/lib64/python3.3/distutils/command/check.pyuinitialize_options1s   ucheck.initialize_optionscCsdS(N((uself((u</opt/alt/python33/lib64/python3.3/distutils/command/check.pyufinalize_options8sucheck.finalize_optionscCs|jd7_tj||ƒS(u*Counts the number of warnings that occurs.i(u _warningsuCommanduwarn(uselfumsg((u</opt/alt/python33/lib64/python3.3/distutils/command/check.pyuwarn;su check.warncCsx|jr|jƒn|jrMtr2|jƒqM|jrMtdƒ‚qMn|jrt|jdkrttdƒ‚ndS(uRuns the command.uThe docutils package is needed.iuPlease correct your package.N(umetadataucheck_metadataurestructuredtextu HAS_DOCUTILSucheck_restructuredtextustrictuDistutilsSetupErroru _warnings(uself((u</opt/alt/python33/lib64/python3.3/distutils/command/check.pyurun@s     u check.runcCsß|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(uÏ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. unameuversionuurlumissing required meta-data: %su, u)missing meta-data: if 'author' supplied, u#'author_email' must be supplied toou-missing meta-data: if 'maintainer' supplied, u''maintainer_email' must be supplied toou4missing meta-data: either (author and author_email) u%or (maintainer and maintainer_email) umust be suppliedN(unameuversionuurl( u distributionumetadatauhasattrugetattruappenduwarnujoinuauthoru author_emailu maintainerumaintainer_email(uselfumetadataumissinguattr((u</opt/alt/python33/lib64/python3.3/distutils/command/check.pyucheck_metadataPs$        ucheck.check_metadatacCsz|jjƒ}xd|j|ƒD]S}|djdƒ}|dkrQ|d}nd|d|f}|j|ƒqWdS(u4Checks if the long string fields are reST-compliant.iulineu %s (line %s)Niÿÿÿÿ(u distributionuget_long_descriptionu_check_rst_dataugetuNoneuwarn(uselfudatauwarninguline((u</opt/alt/python33/lib64/python3.3/distutils/command/check.pyucheck_restructuredtextns  ucheck.check_restructuredtextc Csïtƒ}tƒ}tjƒjƒ}d|_d |_d |_t ||j |j d|j d|j d|jd|jƒ}tj||d|ƒ}|j|d ƒy|j||ƒWn.tk rç|jjd dd ifƒYnX|jS( u8Returns warnings when the provided data doesn't compile.iustreamudebuguencodingu error_handlerusourceiuCould not finish the parsing.uNiÿÿÿÿiÿÿÿÿ(uStringIOuParserufrontendu OptionParseruget_default_valuesu tab_widthuNoneupep_referencesurfc_referencesuSilentReporteru report_levelu halt_leveluwarning_streamudebuguerror_encodinguerror_encoding_error_handlerunodesudocumentu note_sourceuparseuAttributeErrorumessagesuappend(uselfudatau source_pathuparserusettingsureporterudocument((u</opt/alt/python33/lib64/python3.3/distutils/command/check.pyu_check_rst_datays*           ucheck._check_rst_dataN(umetadataumuVerify meta-data(urestructuredtexturuEChecks if long string meta-data syntax are reStructuredText-compliant(ustrictusu(Will exit with an error if a check fails(u__name__u __module__u __qualname__u__doc__u descriptionu user_optionsuboolean_optionsuinitialize_optionsufinalize_optionsuwarnurunucheck_metadataucheck_restructuredtextu_check_rst_data(u __locals__((u</opt/alt/python33/lib64/python3.3/distutils/command/check.pyucheck$s       ucheckNTF(u__doc__udistutils.coreuCommandudistutils.errorsuDistutilsSetupErrorudocutils.utilsuReporterudocutils.parsers.rstuParserudocutilsufrontendunodesuiouStringIOuSilentReporteruTrueu HAS_DOCUTILSu ExceptionuFalseucheck(((u</opt/alt/python33/lib64/python3.3/distutils/command/check.pyus