й¼]x ã @ sÅ d d l m Z d d l m Z yp d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z Gd d „ d e ƒ Z d Z Wn e k rª d Z Yn XGd d „ d e ƒ Z d S)é )ÚCommand)ÚDistutilsSetupError)ÚReporter)ÚParser)Úfrontend)Únodes)ÚStringIOc @ s4 e Z d Z d d d d d d „ Z d d „ Z d S) ÚSilentReporterNr ÚasciiÚreplacec C s/ g | _ t j | | | | | | | | ƒ d S)N)Úmessagesr Ú__init__)ÚselfÚsourceÚreport_levelÚ halt_levelÚstreamÚdebugÚencodingÚ error_handler© r ú*/opt/alt/python35/lib64/python3.5/check.pyr s zSilentReporter.__init__c O sB | j j | | | | f ƒ t j | | d | d | j | | ŽS)NÚlevelÚtype)r Úappendr Úsystem_messageZlevels)r r ÚmessageZchildrenÚkwargsr r r r s zSilentReporter.system_message)Ú__name__Ú __module__Ú__qualname__r r r r r r r s r TFc @ sˆ e Z d Z d Z d d d g Z d d d g Z d d „ Z d d „ Z d d „ Z d d „ Z d d „ Z d d „ Z d d „ Z d S)Úcheckz"perform some checks on the packageÚmetadataÚmúVerify meta-dataÚrestructuredtextÚrúEChecks if long string meta-data syntax are reStructuredText-compliantÚstrictÚsú(Will exit with an error if a check failsc C s( d | _ d | _ d | _ d | _ d S)Nr é )r% r" r( Ú _warnings)r r r r Úinitialize_options1 s zcheck.initialize_optionsc C s d S)Nr )r r r r Úfinalize_options8 s zcheck.finalize_optionsc C s | j d 7_ t j | | ƒ S)Nr+ )r, r Úwarn)r Úmsgr r r r/ ; s z check.warnc C sl | j r | j ƒ | j rD t r/ | j ƒ n | j rD t d ƒ ‚ | j rh | j d k rh t d ƒ ‚ d S)NzThe docutils package is needed.r zPlease correct your package.)r" Úcheck_metadatar% ÚHAS_DOCUTILSÚcheck_restructuredtextr( r r, )r r r r Úrun@ s z check.runc C sÓ | j j } g } x9 d D]1 } t | | ƒ o: t | | ƒ s | j | ƒ q W| rn | j d d j | ƒ ƒ | j r” | j sÏ | j d d ƒ n; | j rº | j sÏ | j d d ƒ n | j d d d ƒ d S)NÚnameÚversionÚurlzmissing required meta-data: %sz, z)missing meta-data: if 'author' supplied, z#'author_email' must be supplied tooz-missing meta-data: if 'maintainer' supplied, z''maintainer_email' must be supplied tooz4missing meta-data: either (author and author_email) z%or (maintainer and maintainer_email) zmust be supplied)r5 r6 r7 )Údistributionr" ÚhasattrÚgetattrr r/ ÚjoinZauthorZauthor_emailZ maintainerZmaintainer_email)r r" ÚmissingÚattrr r r r1 P s$ zcheck.check_metadatac C sz | j j ƒ } xd | j | ƒ D]S } | d j d ƒ } | d k rQ | d } n d | d | f } | j | ƒ q Wd S)Nr+ Úlinez%s (line %s)éÿÿÿÿ)r8 Zget_long_descriptionÚ_check_rst_dataÚgetr/ )r ÚdataÚwarningr> r r r r3 n s zcheck.check_restructuredtextc C s t ƒ } t ƒ } t j d t f ƒ j ƒ } d | _ d | _ d | _ t | | j | j d | j d | j d | j d | j ƒ} t j | | d | ƒ} | j | d ƒ y | j | | ƒ WnE t k r} z% | j j d d | d i f ƒ WYd d } ~ Xn X| j S) NZ componentsé r r r r r r+ z!Could not finish the parsing: %s.Ú r? r? )r r r ZOptionParserZget_default_valuesZ tab_widthZpep_referencesZrfc_referencesr r r Zwarning_streamr Zerror_encodingZerror_encoding_error_handlerr ÚdocumentZnote_sourceÚparseÚAttributeErrorr r )r rB Úsource_pathÚparserZsettingsZreporterrF Úer r r r@ y s* *zcheck._check_rst_dataN)r" r# r$ )r% r&