a  zeK.@sddlmZddlmZmZmZmZddlmZddl m Z m Z m Z ddl mZmZmZmZddl mZddlmZGdd d eZGd d d e ZGd d d eZGddde ZddZddZedkrddlmZeddddddlm Z e edS)) HTMLParser)abspathdirnameisfilejoin)python_version)ToplevelTextMenu)Frame Menubutton ScrollbarStylefont)idleConfc@s6eZdZddZd ddZddZdd Zd d Zd S) HelpParsercCs`tj|dd||_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ g|_ d|_ d|_dS)NT)Zconvert_charrefsFr)r__init__texttagschartagsshowhdrlinklevelprehprefix nested_dl simplelisttocheaderprevtag)selfrr#@/opt/bitninja-python-dojo/embedded/lib/python3.9/idlelib/help.pyr3szHelpParser.__init__cCs0|j|7_|jdkrdn dt|j|_dS)Nrrl)rstrr)r"Zamtr#r#r$indentCszHelpParser.indentcCs8d}|D]\}}|dkr|}qd}|dkr<|dkr|dkr||_ n,|d vr |jrd|_|j dd ||_ |jr*|j d||j |jfd|f|_dS)!NrclassZdivsectionTZ sphinxsidebarFprzend-1c linestartzend-1cz  spanrZversionmodifiedem)ulolsimpleZdlZliz * z * ZdtddendpreblockaZ headerlinkh1)h2h3)rr!rgetisspacerfindrr(rrrinsertrrr )r"tagattrsclass_r6vsZlastliner#r#r$handle_starttagHsh                zHelpParser.handle_starttagcCs|dvrP|jrH|dkrdn|dkr&dnd}|j||j|jdfd|_nH|dvr`d|_n8|d krpd |_n(|d krd |_ d|_n|d vr| d d |f|_ dS)Nr7r8r9r9z r8z rr=)r-r.r6Fr)r/r3r0r2) rrappendr rindexrrrrr(r!)r"r>r(r#r#r$ handle_endtags$   zHelpParser.handle_endtagcCs|jr|js|jr|n |dd}|jdkr^z|d|d|_Wnty\d|_Yn0|jdvr|jdkr|dt|j|jkr|t|jd}|j | 7_ |j d||j|j fdS)Nr, r7rrrDr4)rrrreplacerrFr ValueErrorlenr striprr=r)r"datadr#r#r$ handle_datas      zHelpParser.handle_dataN)r%)__name__ __module__ __qualname__rr(rCrGrOr#r#r#r$r*s   :rc@seZdZddZddZdS)HelpTextc Cstjddddd}tjddddd}d|d}tj||d d d d ||d |gd }|gd}|df|d<|jd|ddfd|jd|ddfd|jd|ddfd|jd|ddfd|jd|dfdd|jd|dfd d!d"d#d$|jd%d d d&|jd'd(d(d&|jd)d*d*d&|jd+d,d,d&t||_t|d-d.}| }Wdn1sf0Y|j |d/|d0<dS)1NmainZ EditorWindowwidthint)typeheightZwordr)wrapZhighlightthicknessZpadx borderwidthrUrX)Z TkDefaultFontZarialZ helvetica)Z TkFixedFontZmonacoZcourier rr.Zitalicrr7Zboldr8r9rz#f6f6ff)r backgroundr5 r%Zsolidz#eeffcc)rlmargin1r]Zreliefrbl1)reZlmargin2l22l3Kl4dzutf-8)encodingdisabledstate) rZ GetOptionr rfindfontZ tag_configurerparseropenreadZfeed) r"parentfilenameZuwideZuhighZ normalfontZ fixedfontfcontentsr#r#r$rs4    ( zHelpText.__init__cCsr|D]h}|ddtj|dDvrFtj|d|d}|dS|ddtj|dDvr|SqdS)Ncss|]}|VqdSNlower.0xr#r#r$ z$HelpText.findfont..)rootT)nameexistsrfamilycss|]}|VqdSrxryr{r#r#r$r~s)rztkfontnamesZFontactualfamilies)r"rrrr#r#r$rps  zHelpText.findfontN)rPrQrRrrpr#r#r#r$rSsrSc@seZdZddZddZdS) HelpFramecCst||t|||_}t||_d|d<|jjd|dd|||_}t ||j d|_ }|j |d<|j ddd |jddd |jddd d |jddd d |jdd dd dS)Nzhelpframe.TFramestylerb)rb)commandZyscrollcommandrr%ZweightZnw)rowcolumnstickynsewns)r rrSrrrZ configuretoc_menurr yviewscrollsetZ rowconfigureZcolumnconfiguregrid)r"rtrurrrr#r#r$rs   zHelpFrame.__init__csPt|dd}t|dd}jjD]"\}}|j||ffdd dq ||d<|S) NZTOCrF)Ztearoffcs |Srx)r)dexrr#r$rz$HelpFrame.toc_menu..)ZlabelrZmenu)r r rqrZ add_command)r"rrZdropZlblrr#rr$rs   zHelpFrame.toc_menuN)rPrQrRrrr#r#r#r$rsrc@seZdZddZdS) HelpWindowcCsZt|||||d|jt||jdddd|jddd|jddddS)NZWM_DELETE_WINDOWrr)rrrr%r) rrZwm_titleprotocolZdestroyrrZgrid_columnconfigureZgrid_rowconfigure)r"rtrutitler#r#r$rs   zHelpWindow.__init__N)rPrQrRrr#r#r#r$rsrc Csttttttddddd}ttttd}t|dV}t|d,}|D]}||d qPWdn1s|0YWdn1s0Yt|d |dS) NZDocZbuildZhtmlZlibraryz idle.html help.htmlrbwb z copied to )rrr__file__rrwriterstripprint)srcdstZinnoutliner#r#r$ copy_strips  PrcCs4ttttd}t|sdSt||dtdS)NrzIDLE Help (%s))rrrrrrr)rtrur#r#r$ show_idlehelpsr__main__)rTzidlelib.idle_test.test_helprF) verbosityexit)runN)!Z html.parserrZos.pathrrrrplatformrtkinterrr r Z tkinter.ttkr r r rrrZidlelib.configrrrSrrrrrPZunittestrTZidlelib.idle_test.htestrr#r#r#r$s"    ~*