3 2a=,@sddlmZddlmZmZmZmZddlmZddl m Z m Z m Z m Z ddlmZmZddl mZddlmZGdd d eZGd d d e ZGd d d e ZGddde ZddZddZedkrddlmZeddddddlmZeedS)) HTMLParser)abspathdirnameisfilejoin)python_version)ToplevelFrameTextMenu) Menubutton Scrollbar)font)idleConfc@s6eZdZddZd ddZddZdd Zd d Zd S) HelpParsercCsZtj|dd||_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ g|_ d|_ dS)NT)Zconvert_charrefsFr)r__init__texttagschartagsshowhdrlinklevelprehprefix nested_dl simplelisttocheader)selfrr )/opt/alt/python36/lib64/python3.6/help.pyr3szHelpParser.__init__cCs0|j|7_|jdkrdn dt|j|_dS)Nrrl)rstrr)ramtr r r!indentBszHelpParser.indentcCs d}x|D]\}}|dkr |}q Wd}|dkr@|dkr@d|_n|dkrZ|dkrZd|_n|dkrr|d krrd }nv|d kr|d krd |_n\|d kr|d krd|_nB|dkrd|_n0|d"kr|jdd#krd}d|_nd|_|jn|dkr |jdkrd|_n|dkr&|jr dnd}n|dkrH|js|dkr||_ n,|d$kr|jrd|_ |jj dd ||_ |jr|jj d||j |jfdS)%NrclassZdivsectionTZ sphinxsidebarFpfirstz spanrZversionmodifiedemulolZsimpler" ZdlrZliz * z * ZdtddendpreblockaZ headerlinkh1h2h3)r-r.)r5r6) rrfindrr&rrrrinsertrrr)rtagZattrsclass_r3vsr r r!handle_starttagFsd              zHelpParser.handle_starttagcCs|dkrT|jd|jr|dkr$dn|dkr0dnd}|jj||j|jjdfnJ|dkrdd|_n:|d krtd |_n*|d krd |_ d|_ n|dkr|jdddS)Nr4r5r6rz z rr9r+r,r3Frr-r0r.r")r%)r4r5r6)r+r,)r-r0r.r7) r&rrappendrrindexrrrr)rr:r&r r r! handle_endtag|s     zHelpParser.handle_endtagc Cs|jr|j r|jr|n |jdd}|jdkrby|d|jd|_Wntk r`d|_YnX|jd kr|jdkr|dt|j|jkr|t|jd}|j |j 7_ |j j d||j|j fdS) Nr/ r4rrr5r6r1)r4r5r6)rrrreplacerr@r ValueErrorlenrstriprr9r)rdatadr r r! handle_datas    zHelpParser.handle_dataN)r")__name__ __module__ __qualname__rr&r>rArIr r r r!r*s   6rc@seZdZddZddZdS)HelpTextc Csvtjddddd}tjddddd}d|d}tj||d d d d ||d |jd ddg}|jdddg}|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}|j }WdQRX|jj |d3|d4<dS)5NmainZ EditorWindowwidthint)typeheightZwordr)wrapZhighlightthicknessZpadx borderwidthrOrRZ TkDefaultFontZarialZ helveticaZ TkFixedFontZmonacoZcourier rr,Zitalic)rr4Zboldr5r6rz#f6f6ff)r backgroundr2 r"Zsolidz#eeffcc)rlmargin1rWZreliefr\l1)r_Zlmargin2l22l3Kl4dzutf-8)encodingZdisabledstate) rZ GetOptionr rfindfontZ tag_configurerparseropenreadZfeed) rparentfilenameZuwideZuhighZ normalfontZ fixedfontfcontentsr r r!rs0      zHelpText.__init__cCsnxh|D]`}|jddtj|dDkrDtj|d|d}|jdS|jddtj|dDkr|SqWdS)Ncss|]}|jVqdS)N)lower).0xr r r! sz$HelpText.findfont..)rootT)nameexistsruZfamilycss|]}|jVqdS)N)rq)rrrsr r r!rts)rqtkfontnamesZFontactualZfamilies)rryrvrr r r!ris   zHelpText.findfontN)rJrKrLrrir r r r!rMsrMc@seZdZddZddZdS) HelpFramecCstj||t|||_}|d|d<|j||_}t||jd|_}|j |d<|j ddd|j ddd|j dddd|j ddd d|j dd d ddS) Nr\)commandZyscrollcommandrr")weightZnw)rowcolumnstickynsewns) r rrMrtoc_menurr yviewscrollsetZ rowconfigureZcolumnconfiguregrid)rrmrnrrrr r r!rs   zHelpFrame.__init__csTt|dd}t|dd}x.jjD]"\}}|j||ffdd dq"W||d<|S) NZTOC)rF)Ztearoffcs j|S)N)r)dex)rr r!sz$HelpFrame.toc_menu..)Zlabelr|Zmenu)r r rjrZ add_command)rrrZdropZlblrr )rr!rs   zHelpFrame.toc_menuN)rJrKrLrrr r r r!r{sr{c@seZdZddZdS) HelpWindowcCsZtj|||j||jd|jt||jdddd|jddd|jddddS)NZWM_DELETE_WINDOWrr)rr~rr")r}) rrZwm_titleZprotocolZdestroyr{rZgrid_columnconfigureZgrid_rowconfigure)rrmrntitler r r!rs   zHelpWindow.__init__N)rJrKrLrr r r r!rsrcCsttttttddddd}ttttd}t|d<}t|d&}x|D]}|j|jd qRWWdQRXWdQRXt|d |dS) NZDocZbuildZhtmlZlibraryz idle.htmlz help.htmlrbwb z copied to )rrr__file__rkwriterstripprint)srcdstZinnoutliner r r! copy_strips   *rcCs4ttttd}t|sdSt||dtdS)Nz help.htmlzIDLE Help (%s))rrrrrrr)rmrnr r r! show_idlehelpsr__main__)rNzidlelib.idle_test.test_helprF) verbosityexit)runN) Z html.parserrZos.pathrrrrplatformrZtkinterrr r r Z tkinter.ttkr r rrxZidlelib.configrrrMr{rrrrJZunittestrNZidlelib.idle_test.htestrr r r r!s"    v*