a
    $i?                     @   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>    strongZsampascriptZcitebrqlabelvardfnselectcodeZtextareabZimgobjectttibigZbdoZkbdZabbrZbuttonsupinputmapZemspanZacronymtimeZsmallsubr   u   [ 	​
]+c                 C   s   t d| S )N )WHITESPACE_REr   )text r   Z/var/www/staging/api/virtual_environments/venv/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   r/   r    r   r.   r   _merge_original_parts5   s    

r0   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)   )domr1   r2   rchildr   r   r   r8   I   s,    







r8   
c                    sJ   t | |d}|r ttt|}d fdd|D }|rF| }|S )N)r1   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>)r8   r)   r!   r0   r+   r,   )r:   r@   rA   Zsquash_spacer   resultr   r?   r   extract_textc   s    rD   )TT)r=   r=   T)rer6   r5   compiler   r   r!   r)   r0   r8   rD   r   r   r   r   <module>   s   

