U :eK.@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#1/usr/local/python38/lib/python3.8/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 kr |jrd|_|j dd ||_ |jr*|j d||j |jfd|f|_dS)!NrclassZdivsectionTZ sphinxsidebarFprzend-1c linestartzend-1cz  spanrZversionmodifiedem)ulolZsimpleZdlZliz * z * ZdtddendpreblockaZ headerlinkh1)h2h3)rr!rgetisspacerfindrr(rrrinsertrrr )r"tagZattrsclass_r5vsZlastliner#r#r$handle_starttagHsh                zHelpParser.handle_starttagcCs|dkrP|jrH|dkrdn|dkr&dnd}|j||j|jdfd|_nH|dkr`d|_n8|d krpd |_n(|d krd |_ d|_n|d kr| d d |f|_ dS)Nr6r7r8r8z r7z rr<)r-r.r5Fr)r/r2r0r1) rrappendr rindexrrrrr(r!)r"r=r(r#r#r$ handle_endtags$   zHelpParser.handle_endtagcCs|jr|js|jr|n |dd}|jdkr`z|d|d|_Wntk r^d|_YnX|jdkr|jdkr|dt|j|jkr|t|jd}|j | 7_ |j d||j|j fdS)Nr, r6rrrBr3)rrrreplacerrDr ValueErrorlenr striprr<r)r"datadr#r#r$ handle_datas     zHelpParser.handle_dataN)r%)__name__ __module__ __qualname__rr(rArErMr#r#r#r$r*s   :rc@seZdZddZddZdS)HelpTextc Csvtjddddd}tjddddd}d|d}tj||d d d d ||d |d ddg}|dddg}|df|d<|jd|ddfd|jd|ddfd|jd|ddfd|jd|ddfd|jd|dfd d!|jd"|d#fd$d%d&d'd(|jd)d$d$d*|jd+d,d,d*|jd-d.d.d*|jd/d0d0d*t||_t|d1d2}| }W5QRX|j |d3|d4<dS)5NmainZ EditorWindowwidthint)typeheightZwordr)wrapZhighlightthicknessZpadx borderwidthrSrVZ TkDefaultFontZarialZ helveticaZ TkFixedFontZmonacoZcourier rr.Zitalicrr6Zboldr7r8rz#f6f6ff)r backgroundr4 r%Zsolidz#eeffcc)rlmargin1r[Zreliefr`l1)rcZlmargin2l22l3Kl4dzutf-8)encodingdisabledstate) rZ GetOptionr rfindfontZ tag_configurerparseropenreadZfeed) r"parentfilenameZuwideZuhighZ normalfontZ fixedfontfcontentsr#r#r$rs>     zHelpText.__init__cCsr|D]h}|ddtj|dDkrFtj|d|d}|dS|ddtj|dDkr|SqdS)Ncss|]}|VqdSNlower.0xr#r#r$ sz$HelpText.findfont..)rootT)nameexistsr}familycss|]}|VqdSrvrwryr#r#r$r|s)rxtkfontnamesZFontactualfamilies)r"rr~rr#r#r$rns  zHelpText.findfontN)rNrOrPrrnr#r#r#r$rQsrQc@seZdZddZddZdS) HelpFramecCst||t|||_}t||_d|d<|jjd|dd|||_}t ||j d|_ }|j |d<|j ddd |jddd |jddd d |jddd d |jdd dd dS)Nzhelpframe.TFramestyler`)r`)commandZyscrollcommandrr%ZweightZnw)rowcolumnstickynsewns)r rrQrrrZ configuretoc_menurr yviewscrollsetZ rowconfigureZcolumnconfiguregrid)r"rrrsrrrr#r#r$rs   zHelpFrame.__init__csPt|dd}t|dd}jjD]"\}}|j||ffdd dq ||d<|S) NZTOCrF)Ztearoffcs |Srv)r)dexrr#r$z$HelpFrame.toc_menu..)ZlabelrZmenu)r r rorZ add_command)r"rrZdropZlblrr#rr$rs   zHelpFrame.toc_menuN)rNrOrPrrr#r#r#r$rsrc@seZdZddZdS) HelpWindowcCsZt|||||d|jt||jdddd|jddd|jddddS)NZWM_DELETE_WINDOWrr)rrrr%r) rrZwm_titleprotocolZdestroyrrZgrid_columnconfigureZgrid_rowconfigure)r"rrrstitler#r#r$rs   zHelpWindow.__init__N)rNrOrPrr#r#r#r$rsrc Csttttttddddd}ttttd}t|d8}t|d"}|D]}||d qPW5QRXW5QRXt|d |dS) NZDocZbuildZhtmlZlibraryz idle.html help.htmlrbwb z copied to )rrr__file__rpwriterstripprint)srcdstZinnoutliner#r#r$ copy_strips (rcCs4ttttd}t|sdSt||dtdS)NrzIDLE Help (%s))rrrrrrr)rrrsr#r#r$ show_idlehelpsr__main__)rRzidlelib.idle_test.test_helprF) verbosityexit)runN)!Z html.parserrZos.pathrrrrplatformrtkinterrr r Z tkinter.ttkr r r rrrZidlelib.configrrrQrrrrrNZunittestrRZidlelib.idle_test.htestrr#r#r#r$s"    ~*