<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    YI~d-                 @   s   d dl mZ d dlmZmZmZmZ d dlmZ d dl	m
Z
mZmZmZ d dlmZmZ d dl	mZ d dlmZ G dd	 d	eZG d
d deZG dd deZG dd de
Zdd Zdd Zedkrd dlmZ edddd d dlmZ ee dS )    )
HTMLParser)abspathdirnameisfilejoin)python_version)ToplevelFrameTextMenu)
Menubutton	Scrollbar)font)idleConfc               @   s6   e Zd Zdd ZdddZdd Zdd	 Zd
d ZdS )
HelpParserc             C   s`   t j| dd || _d| _d| _d| _d| _d| _d| _d| _	d| _
d| _g | _d| _d | _d S )NT)Zconvert_charrefs Fr   )r   __init__texttagschartagsshowhdrlinklevelprehprefix	nested_dl
simplelisttocheaderprevtag)selfr    r!   1/opt/alt/python37/lib64/python3.7/idlelib/help.pyr   3   s    zHelpParser.__init__   c             C   s0   |  j |7  _ | j dkrdndt| j  | _d S )Nr   r   l)r   strr   )r    Zamtr!   r!   r"   indentC   s    zHelpParser.indentc             C   s>  d}x|D ]\}}|dkr
|}q
W d}|dkr@|dkr@d| _ n|dkrZ|dkrZd| _ n|dkr| jr| jd	 s| jd
d}|r| sdnd}nx|dkr|dkrd| _n^|dkr|dkrd| _nD|dkrd| _n2|dkr|ddkrd}d| _nd| _|   n|dkr2| j	d	krd| _
n|dkrN| jrHdnd}n|dkrp| j
sddnd}d| _
n|dkr|   d}n|dkrd| _| j r| jdd d| _nZ|dkr|dkrd| _n>|dkr|| _n,|d kr| j r
d| _| jdd || _| j r0| jd|| j| jf d|f| _d S )!Nr   classZdivsectionTZsphinxsidebarFpr   zend-1c linestartzend-1cz


spanr   Zversionmodifiedem)ulolZsimpleZdlZliz
* z

* ZdtddendpreblockaZ
headerlinkh1)h2h3)r   r   r   getisspacer   findr   r&   r   r   r   insertr   r   r   )r    tagZattrsclass_r3   vsZlastliner!   r!   r"   handle_starttagH   sh    













zHelpParser.handle_starttagc             C   s   |dkrP| j rH|dkrdn|dkr&dnd}| j|| j | jdf d| _nH|dkr`d| _n8|d	krpd
| _n(|dkrd
| _	d| _n|dkr| 
d d
|f| _d S )N)r4   r5   r6   r6   z        r5   z    r   r:   )r+   r,   r3   Fr   )r-   r0   r.   r/   )r   r   appendr   r   indexr   r   r   r   r&   r   )r    r;   r&   r!   r!   r"   handle_endtag   s"    
zHelpParser.handle_endtagc             C   s   | j r| js| jr|n
|dd}| jdkr`y|d|d | _W n tk
r^   d| _Y nX | jdkr| jdkr|dt| j | jkr|t| jd  }|  j	|
 7  _	| jd|| j| jf d S )Nr*    r4   r   r   )r4   r5   r6   r1   )r   r   r   replacer   rA   r   
ValueErrorlenr   stripr   r:   r   )r    datadr!   r!   r"   handle_data   s    


zHelpParser.handle_dataN)r#   )__name__
__module____qualname__r   r&   r?   rB   rJ   r!   r!   r!   r"   r   *   s
   	
:r   c               @   s   e Zd Zdd Zdd ZdS )HelpTextc       	   
   C   sv  t jddddd}t jddddd}d| d }tj| |d	d
dd
||d | dddg}| dddg}|df| d< | jd|ddfd | jd|ddfd | jd|ddfd | jd|ddfd | jd|dfd d! | jd"|d#fd$d%d&d'd( | jd)d$d$d* | jd+d,d,d* | jd-d.d.d* | jd/d0d0d* t| | _t|d1d2}|	 }W d Q R X | j
| d3| d4< d S )5NmainZEditorWindowwidthint)typeheight      Zwordr      )wrapZhighlightthicknessZpadxborderwidthrP   rS   ZTkDefaultFontZarialZ	helveticaZTkFixedFontZmonacoZcourier   r   r,   Zitalic)r   r4      Zboldr5      r6      r   z#f6f6ff)r   
backgroundr2   
      r#   Zsolidz#eeffcc)r   lmargin1rX   Zreliefr]   l1)r`   Zlmargin2l22   l3K   l4d   zutf-8)encodingZdisabledstate)r   Z	GetOptionr
   r   findfontZtag_configurer   parseropenreadZfeed)	r    parentfilenameZuwideZuhighZ
normalfontZ	fixedfontfcontentsr!   r!   r"   r      s0    
zHelpText.__init__c             C   sn   xh|D ]`}|  dd tj| dD krDtj|d| d}| d S |  dd tj| dD kr|S qW d S )Nc             s   s   | ]}|  V  qd S )N)lower).0xr!   r!   r"   	<genexpr>   s    z$HelpText.findfont.<locals>.<genexpr>)rootT)nameexistsrv   Zfamilyc             s   s   | ]}|  V  qd S )N)rr   )rs   rt   r!   r!   r"   ru      s   )rr   tkfontnamesZFontactualZfamilies)r    rz   rw   r   r!   r!   r"   rj      s    
zHelpText.findfontN)rK   rL   rM   r   rj   r!   r!   r!   r"   rN      s   rN   c               @   s   e Zd Zdd Zdd ZdS )	HelpFramec             C   s   t | | t| | | _}|d | d< | | | _}t| |jd | _}|j	|d< | j
ddd | jddd |jdddd |jddd	d |jdd
dd d S )Nr]   )commandZyscrollcommandr   r#   )weightZnw)rowcolumnstickynsew   ns)r	   r   rN   r   toc_menur   r   yviewscrollsetZrowconfigureZcolumnconfiguregrid)r    rn   ro   r   r   r   r!   r!   r"   r      s    
zHelpFrame.__init__c                sT   t | dd}t|dd}x. jjD ]"\}}|j||f fdd	d q"W ||d< |S )	NZTOC)r   F)Ztearoffc                s
     | S )N)r   )dex)r   r!   r"   <lambda>       z$HelpFrame.toc_menu.<locals>.<lambda>)Zlabelr}   Zmenu)r   r   rk   r   Zadd_command)r    r   r   ZdropZlblr   r!   )r   r"   r      s    zHelpFrame.toc_menuN)rK   rL   rM   r   r   r!   r!   r!   r"   r|      s   r|   c               @   s   e Zd Zdd ZdS )
HelpWindowc             C   sZ   t | | | | | d| j t| |jdddd | jddd | jddd d S )NZWM_DELETE_WINDOWr   r   )r   r   r   r#   )r~   )	r   r   Zwm_titleZprotocolZdestroyr|   r   Zgrid_columnconfigureZgrid_rowconfigure)r    rn   ro   titler!   r!   r"   r      s    
zHelpWindow.__init__N)rK   rL   rM   r   r!   r!   r!   r"   r      s   r   c           
   C   s   t tttttddddd} t tttd}t| d<}t|d&}x|D ]}|| d	  qRW W d Q R X W d Q R X t|  d
|  d S )NZDocZbuildZhtmlZlibraryz	idle.htmlz	help.htmlrbwb   
z copied to )r   r   r   __file__rl   writerstripprint)srcdstZinnoutliner!   r!   r"   
copy_strip   s    
*r   c             C   s4   t tttd}t|sd S t| |dt   d S )Nz	help.htmlzIDLE Help (%s))r   r   r   r   r   r   r   )rn   ro   r!   r!   r"   show_idlehelp  s    r   __main__)rO   zidlelib.idle_test.test_helpr   F)	verbosityexit)runN) Zhtml.parserr   Zos.pathr   r   r   r   platformr   Ztkinterr   r	   r
   r   Ztkinter.ttkr   r   r   ry   Zidlelib.configr   r   rN   r|   r   r   r   rK   ZunittestrO   Zidlelib.idle_test.htestr   r!   r!   r!   r"   <module>   s"   ~* 