a „oeäã @sÌddlZddlZddlZddlZGdd„dƒZdd„Zdd„ZedkrÈd d „Zdd d „Z d d„Z dd„Z dd„Z ddd„Z Gdd„dƒZdd„ZeƒZee e e e e eejej ej ej ej ej f ZeeƒdS)éNc@sŽeZdZgZdgdgdgddgdœZiZiZdd„Zd d „Zd d „Z d d„Z dd„Z dd„Z dd„Z dd„Zdejejejfdd„ZdS)ÚCallTipszzz z z )z<>z<>z<>z<>cCs8||_|j|_d|_t|jdƒr,|jj|_n|j|_dS)NÚmake_calltip_window)ÚeditwinÚtextÚcalltipÚhasattrrÚ_make_calltip_windowÚ_make_tk_calltip_window)Úselfr©r ú>C:\Program Files\Certbot\pkgs\pythonwin\pywin\idle\CallTips.pyÚ__init__s   zCallTips.__init__cCs d|_dS©N)r©r r r r Úclose!szCallTips.closecCsddl}| |j¡S)Nr)Ú CallTipWindowZCallTipr)r rr r r r &sz CallTips._make_tk_calltip_windowcCs|jr|j ¡d|_dSr)rZhidetiprr r r Ú_remove_calltip_window+s zCallTips._remove_calltip_windowcCs@| ¡t| ¡ƒ}|r<|j d¡|_| ¡|_|j |¡dS)NÚinsertÚ) rÚ get_arg_textÚget_object_at_cursorrÚindexÚ calltip_startrrZshowtip)r ÚeventZarg_textr r r Úparen_open_event0s   zCallTips.paren_open_eventcCs | ¡dS©Nr©r©r rr r r Úparen_close_event9szCallTips.paren_close_eventcCs:|jr6|j dd|j¡s.|j dd|jd¡r6| ¡dS)Nrz<=ú>z lineendr)rrZcomparerrrr r r Úcheck_calltip_cancel_event?sÿþz#CallTips.check_calltip_cancel_eventcCs | ¡dSrrrr r r Úcalltip_cancel_eventJszCallTips.calltip_cancel_eventz._cCs„|j}| dd¡}t|ƒ}|r8||d|vr8|d}q||d…}|r€ddl}tj ¡}| |j¡z t ||ƒWSYn0dS)Nzinsert linestartrér) rÚgetÚlenÚ__main__ÚsysÚmodulesÚcopyÚupdateÚ__dict__Úeval)r Z wordcharsrÚcharsÚiZwordr%Ú namespacer r r rNs       zCallTips.get_object_at_cursorN)Ú__name__Ú __module__Ú __qualname__ZmenudefsZkeydefsZwindows_keydefsZ unix_keydefsr rr rrrr r!ÚstringZascii_uppercaseZascii_lowercaseÚdigitsrr r r r r s0ü   ÿþýþrcCsHz|jWStyB|jD] }t|ƒ}|dur|YSqYn0dSr)r ÚAttributeErrorÚ __bases__Ú_find_constructor)Zclass_obÚbaseÚrcr r r r6js  r6cCsæd}|durât |¡r0t|ƒ}|dur4dd„}n|}t |¡sHt |¡rxztt |¡ƒ}Wntdƒt  ¡Yn0t |dƒrâ|j }z|  ¡}|  d¡}Wnty°Yn20|dksÂ|dkrÆd}|rÒ|d}||d|…}|S) NrcSsdSrr r r r r Úózget_arg_text..zFailed to format the argsÚ__doc__Ú réF)ÚinspectZisclassr6Z isfunctionZismethodÚstrZ signatureÚprintÚ tracebackÚ print_excrr;ÚstripÚfindr4)ÚobZargTextZfobÚdocÚposr r r rws4    rr%cCsdS)z()Nr r r r r Út1¢srHcCsdS)z (a, b=None)Nr )ÚaÚbr r r Út2¥srKcGsdS©z (a, *args)Nr ©rIÚargsr r r Út3¨srOcGsdS)z(*args)Nr )rNr r r Út4«srPcGsdSrLr rMr r r Út5®srQcOsdS)z(a, b=None, *args, **kw)Nr )rIrJrNÚkwr r r Út6±srSc@sNeZdZdZddd„Zdd„Zddd„Zd d „Zd d „Zd d„Z ddd„Z dS)ÚTCú(self, a=None, *b)NcGsdS)rUNr ©r rIrJr r r r ·sz TC.__init__cCsdS)z(self)Nr rr r r rHºszTC.t1cCsdS)z(self, a, b=None)Nr rVr r r rK½szTC.t2cGsdS©z(self, a, *args)Nr ©r rIrNr r r rOÀszTC.t3cGsdS)z (self, *args)Nr )r rNr r r rPÃszTC.t4cGsdSrWr rXr r r rQÆszTC.t5cOsdS)z(self, a, b=None, *args, **kw)Nr )r rIrJrNrRr r r rSÉszTC.t6)N)N)N) r/r0r1r;r rHrKrOrPrQrSr r r r rT´s  rTcCsng}|D]H}|jd|j}t|ƒ|kr| |¡td|t|ƒtt|ƒƒfƒqtdt|ƒt|ƒfƒdS)Nr<z%s - expected %s, but got %sz%d of %d tests failed)r;rÚappendr@Úreprr$)ÚtestsZfailedÚtZexpectedr r r ÚtestÌs  ÿÿr])N)N)r>r2r&rArr6rr/rHrKrOrPrQrSrTr]Ztcr[r r r r Ús$` )   *