a
    xd@                     @   sX   d dl Z h dZdhZe dZdd Zdd Zd	d
 Zdd ZdddZ	dddZ
dS )    N>    alabelZabbrZbdoselectbrvarsubZcitesupqembZkbdinputitextareadfnbigobjectttcodeZsampZacronymbuttonspanimgmapstrongsmalltimescriptr   u   [ 	​
]+c                 C   s   t d| S )N )WHITESPACE_REr   )text r   D/var/www/html/Ranjet/env/lib/python3.9/site-packages/pyquery/text.pysquash_html_whitespace   s    r!   c                 C   sB   g d }}| D ].}|d ur*| | d}q|s| d  d}q|S )NFT)append)partsoutputZlast_nlxr   r   r    _squash_artifical_nl   s    


r&   c                 C   s   | s| S t | D ]\}}t|tr q(qt | d |dkr>|d nd d }|D ]\}}t|trN qfqN| ||dkrx| nd  S )Nr      )	enumerate
isinstancestr)r#   Z	start_idxptiteratorZend_idxr   r   r    _strip_artifical_nl'   s    
"
r.   c                    sR   g g    fdd}| D ]*}t |ts<|  | q | q|  S )Nc                     s4    r0t d  } | r$|  g  d d < d S )N )r!   joinstripr"   )itemZorp_bufr$   r   r    flush8   s
    
z$_merge_original_parts.<locals>.flush)r*   r+   r"   )r#   r4   r%   r   r3   r    _merge_original_parts5   s    

r5   Tc                 C   s   t | jrdS g }| jtv r(|d n| jtvr<|d  | jd urR|| j |  D ].}|t|ddd |j	d urZ||j	 qZ| jtvr| jtvr|d  |rt
|}|rt|}|S )Nr/   TF)squash_artifical_nlstrip_artifical_nl)callabletag
SEPARATORSr"   INLINE_TAGSr   Zgetchildrenextendextract_text_arraytailr&   r.   )domr6   r7   rchildr   r   r    r=   I   s,    







r=   
c                    sJ   t | |d}|r ttt|}d fdd|D }|rF| }|S )N)r6   r/   c                 3   s*   | ]"}|d u r n|du rn|V  qd S )NTr   ).0r%   block_symbol
sep_symbolr   r    	<genexpr>g   s   zextract_text.<locals>.<genexpr>)r=   r.   r&   r5   r0   r1   )r?   rE   rF   Zsquash_spacer   resultr   rD   r    extract_textc   s    rI   )TT)rB   rB   T)rer;   r:   compiler   r!   r&   r.   r5   r=   rI   r   r   r   r    <module>   s   

