ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ k6Sc@s dZddlZy:ddlmZmZddlmZddlmZWne k r_nXddl m Z ddl m Z ddlmZdd lmZdd lmZdd lmZd Zd ZdefdYZdefdYZdZdS(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: iN(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| trM| tk rMd| | f} PqMqMWt}|j d| d|j dd|j dd|j dd|j dd| }t }|j |ix_|D]W}|j |j d|j d d|j d |j d d|j d dq'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| jjddd|j dd|j ddtj}|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((sG/opt/alt/python27/lib/python2.7/site-packages/nose/sphinx/pluginopts.pytautoplugin_directive1sd  '      "        c Csxtdtdt} | jtj} t} x-| jjdD]} | j | dqLW| j dd| j dd| j ddx_| D]W} | j | j d| j dd| j d | j dd| j ddqWt 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((sG/opt/alt/python27/lib/python2.7/site-packages/nose/sphinx/pluginopts.pytautohelp_directivets0            RcBs2eZdddZdZdZdZRS(t nosetestscCsg|_||_||_dS(N(R5tdoctprog(tselfRFRG((sG/opt/alt/python27/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyt__init__s  cCs t|jS(N(titerR5(RH((sG/opt/alt/python27/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyt__iter__scCs"|jjd|jjddS(Ns%progs: s:: (RFRRG(RH((sG/opt/alt/python27/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyR?scOs|jjt||dS(N(R5RtOpt(RHtargtkw((sG/opt/alt/python27/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyt add_optionsN(t__name__t __module__RRIRKR?RO(((sG/opt/alt/python27/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyRs  RLcBs#eZdZdZdZRS(cOsa||_|jdd|_|jdd|_|jdd|_|jdd|_dS(NtactiontdefaulttmetavarR(R5tpopRRRRSRTR(RHRMRN((sG/opt/alt/python27/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyRIs  cCsgg}xM|jD]B}|}|jdkrE|d|j|7}n|j|qWddj|S(Nt store_truet store_falses=%ss.. cmdoption :: s, (RVRW(R5RRtmetaRtjoin(RHtbuft optstringtdesc((sG/opt/alt/python27/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyRscCs |jp dS(NtDEFAULT(RT(RHR[((sG/opt/alt/python27/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyRXs(RPRQRIRRX(((sG/opt/alt/python27/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyRLs  cCs9|jdtdddtj|jdtdddS(Nt autopluginiiR tautohelp(iii(iii(t add_directiveR:Rt unchangedRD(tapp((sG/opt/alt/python27/lib/python2.7/site-packages/nose/sphinx/pluginopts.pytsetups   (t__doc__RtdocutilsRRtdocutils.statemachineRtdocutils.parsers.rstRt ImportErrort nose.utilRtnose.plugins.baseRtnose.plugins.managerRt nose.configRt nose.coreRtinspectR R:RDtobjectRRLRc(((sG/opt/alt/python27/lib/python2.7/site-packages/nose/sphinx/pluginopts.pyt s$   C