ó K9•Qc@s dZddlZy:ddlmZmZddlmZddlmZWne k r_nXddl m Z ddl m Z ddlmZdd lmZdd lmZdd lmZd „Zd „Zdefd„ƒYZdefd„ƒYZd„ZdS(sÊ Adds a sphinx directive that can be used to automatically document a plugin. this:: .. autoplugin :: nose.plugins.foo :plugin: Pluggy produces:: .. automodule :: nose.plugins.foo Options ------- .. cmdoption :: --foo=BAR, --fooble=BAR Do the foo thing to the new thing. Plugin ------ .. autoclass :: nose.plugins.foo.Pluggy :members: Source ------ .. include :: path/to/nose/plugins/foo.py :literal: iÿÿÿÿN(tnodestutils(tViewList(t directives(t resolve_name(tPlugin(tBuiltinPluginManager(tConfig(t TestProgram(tisclassc Csø|d} t| ƒ} |jddƒ} | r@t| | ƒ} nax^t| ƒD]P} t| | ƒ} t| ƒrMt| tƒrM| tk rMd| | f} PqMqMWtƒ}|j d| dƒ|j ddƒ|j ddƒ|j ddƒ|j ddƒ| ƒ}t ƒ}|j |iƒx_|D]W}|j |j ƒdƒ|j d dƒ|j d |j d dƒ|j d dƒq'W|j d dƒ|j d dƒ|j ddƒ|j d| dƒ|j ddƒ|j ddƒ|j ddƒ|j ddƒ|j d dƒ|j dt j|jdtjj| jjddƒƒƒdƒ|j ddƒ|j ddƒtjƒ}|j|_|jj}|jj}g|j_d|j_|j|d|ddƒ||j_||j_|jS(Nitplugins%s.%ss.. automodule :: %s s ttOptionss-------s s s Rs------s.. autoclass :: %s s :members: s :show-inheritance: tSources.. include :: %s tsources.pycs.pys :literal: t match_titlesi(RtgettNonetgetattrtdirR t issubclassRRtappendt OptBuckettoptionsthelpRt relative_pathtdocumenttostpathtabspatht__file__treplaceRtsectiontmemot title_stylest section_levelt nested_parsetchildren(tdirnamet argumentsRtcontenttlinenotcontent_offsett block_texttstatet state_machinetmod_nametmodt plug_nametobjtentrytrsttplugtoptstopttnodetsurrounding_title_stylestsurrounding_section_level((s:/sys/lib/python2.7/site-packages/nose/sphinx/pluginopts.pytautoplugin_directive1sd  '      "        c Csxtdtdtƒƒ} | jtjƒƒ} tƒ} x-| jƒjdƒD]} | j | dƒqLW| j ddƒ| j ddƒ| j ddƒx_| D]W} | j | j ƒdƒ| j ddƒ| j d | j ddƒ| j ddƒqWt j ƒ}|j|_|jj}|jj}g|j_d |j_|j| d |d d ƒ||j_||j_|jS( sproduces rst from nose helpt parserClasstpluginss s R s-------R s s iRi(RRRt getParserRtusageRt format_helptsplitRRRRR RR!R"R#R$R%(R&R'RR(R)R*R+R,R-tconfigtparserR3tlineR6R7R8R9((s:/sys/lib/python2.7/site-packages/nose/sphinx/pluginopts.pytautohelp_directivets0            RcBs2eZddd„Zd„Zd„Zd„ZRS(t nosetestscCsg|_||_||_dS(N(R5tdoctprog(tselfRFRG((s:/sys/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyt__init__”s  cCs t|jƒS(N(titerR5(RH((s:/sys/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyt__iter__™scCs"|jjd|jƒjddƒS(Ns%progs: s:: (RFRRG(RH((s:/sys/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyR?œscOs|jjt||ŽƒdS(N(R5RtOpt(RHtargtkw((s:/sys/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyt add_optionŸsN(t__name__t __module__RRIRKR?RO(((s:/sys/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyR“s  RLcBs#eZd„Zd„Zd„ZRS(cOsa||_|jddƒ|_|jddƒ|_|jddƒ|_|jddƒ|_dS(NtactiontdefaulttmetavarR(R5tpopRRRRSRTR(RHRMRN((s:/sys/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyRI¤s  cCsgg}xM|jD]B}|}|jdkrE|d|j|ƒ7}n|j|ƒqWddj|ƒS(Nt store_truet store_falses=%ss.. cmdoption :: s, (RVRW(R5RRtmetaRtjoin(RHtbuft optstringtdesc((s:/sys/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyR«scCs |jp dS(NtDEFAULT(RT(RHR[((s:/sys/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyRX´s(RPRQRIRRX(((s:/sys/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyRL£s  cCs9|jdtdddtjƒ|jdtddƒdS(Nt autopluginiiR tautohelp(iii(iii(t add_directiveR:Rt unchangedRD(tapp((s:/sys/lib/python2.7/site-packages/nose/sphinx/pluginopts.pytsetup¹s   (t__doc__RtdocutilsRRtdocutils.statemachineRtdocutils.parsers.rstRt ImportErrort nose.utilRtnose.plugins.baseRtnose.plugins.managerRt nose.configRt nose.coreRtinspectR R:RDtobjectRRLRc(((s:/sys/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyt s$   C