Sindbad~EG File Manager

Current Path : /lib64/python3.6/site-packages/lxml/html/__pycache__/
Upload File :
Current File : //lib64/python3.6/site-packages/lxml/html/__pycache__/soupparser.cpython-36.opt-1.pyc

3

�'�Y�'�@sTdZdddgZddlZddlmZmZy0ddlmZmZm	Z	m
Z
mZmZm
Z
ee
fZWn8ek
r�ddlmZmZm	Z	m
Z
mZmZeZYnXdd	d�Zdd
d�Zddd�Zdd
�Zejdej�jZGdd�d�Zdd�Zdd�ZyddlmZWn"ek
�rddlmZYnXejd�jZye Wne!k
�rFe"Z YnXdd�Z#dS)z5External interface to the BeautifulSoup HTML parser.
�
fromstring�parse�convert_tree�N)�etree�html)�
BeautifulSoup�Tag�Comment�ProcessingInstruction�NavigableString�Declaration�Doctype)rrr	r
rrcKst|||f|�S)a�Parse a string of HTML data into an Element tree using the
    BeautifulSoup parser.

    Returns the root ``<html>`` Element of the tree.

    You can pass a different BeautifulSoup parser through the
    `beautifulsoup` keyword, and a diffent Element factory function
    through the `makeelement` keyword.  By default, the standard
    ``BeautifulSoup`` class and the default factory of `lxml.html` are
    used.
    )�_parse)�data�
beautifulsoup�makeelement�bsargs�r�"/usr/lib64/python3.6/soupparser.pyrscKs,t|d�st|�}t|||f|�}tj|�S)aYParse a file into an ElemenTree using the BeautifulSoup parser.

    You can pass a different BeautifulSoup parser through the
    `beautifulsoup` keyword, and a diffent Element factory function
    through the `makeelement` keyword.  By default, the standard
    ``BeautifulSoup`` class and the default factory of `lxml.html` are
    used.
    �read)�hasattr�openrrZElementTree)�filerrr�rootrrrr$s	
cCs.t||�}|j�}x|D]}|j|�qW|S)aConvert a BeautifulSoup tree to a list of Element trees.

    Returns a list instead of a single root Element to support
    HTML-like soup with more than one root element.

    You can pass a different Element factory through the `makeelement`
    keyword.
    )�
_convert_treeZgetchildren�remove)�beautiful_soup_treerrZchildren�childrrrr3s
	

cKs�|dkrt}t|d�r&d|kr&d|d<t|d�r@d|kr@d|d<||f|�}t||�}t|�dkrx|djdkrx|dSd|_|S)	NZ
HTML_ENTITIESZconvertEntitiesrZDEFAULT_BUILDER_FEATURESZfeatureszhtml.parser�r)rrr�len�tag)�sourcerrrZtreerrrrrEs


rz`(?:\s|[<!])*DOCTYPE\s*HTML(?:\s+PUBLIC)?(?:\s+(\'[^\']*\'|"[^"]*"))?(?:\s+(\'[^\']*\'|"[^"]*"))?c@seZdZdd�Zdd�ZdS)�
_PseudoTagcCsd|_g|_||_dS)Nr)�name�attrs�contents)�selfr%rrr�__init__`sz_PseudoTag.__init__cCs
|jj�S)N)r%�__iter__)r&rrrr(esz_PseudoTag.__iter__N)�__name__�
__module__�__qualname__r'r(rrrrr"^sr"cCs|dkrtjj}d}}d}}xft|�D]Z\}}t|t�rn|dkrH|}|}|dkr�|jr�|jj�dkr�|}q*|dkr*t|t�r*|}q*W|dkr�g}}	|j	}
n2|j	d|�}|j	||d�}
|j	|dd�}	|dk	�r|
j
|�}|
d|�|j	|
|dd�|_	nt|
�}t|�}||�}|}
x2t
|�D]&}||�}|dk	�r2|
j|�|}
�q2W|}
x.|	D]&}||�}|dk	�rf|
j|�|}
�qfW|dk	�ry|j�}Wntk
�r�|j}YnXt|�}|�s�n>|j�\}}|j�j}|�o�|dd�|_|�o|dd�|_|S)Nrr���r,)rZhtml_parserr�	enumerate�
isinstancerr#�lower�_DECLARATION_OR_DOCTYPEr%�indexr"�_init_node_converters�reversedZaddpreviousZaddnextZoutput_ready�AttributeError�string�_parse_doctype_declaration�groupsZgetroottree�docinfoZ	public_idZ
system_url)rrZfirst_element_idxZlast_element_idxZ	html_rootZdeclaration�i�eZpre_rootZ	post_root�roots�convert_nodeZres_root�prevZ	convertedZdoctype_string�matchZexternal_idZsys_urir8rrrrisd


&








rcs�i�g���fdd�}��fdd��d��fdd�	�dd��d	d
��|tt�����fdd��}|t�d
d��}|t�dd��}|t��fdd��}�S)Ncs���fdd�}|S)Ncs$x�D]}|�|<�j|�qW|S)N)�append)�handler�t)�
converters�ordered_node_types�typesrr�add�s
z5_init_node_converters.<locals>.converter.<locals>.addr)rDrE)rBrC)rDr�	converter�sz(_init_node_converters.<locals>.convertercs$x�D]}t||�r�|SqWdS)N)r.)ZnoderA)rBrCrr�find_best_converter�s

z2_init_node_converters.<locals>.find_best_convertercsPy�t|�}Wn(tk
r8�|�}�t|�<YnX|dkrFdS|||�S)N)�type�KeyError)�bs_node�parentr@)rBrGrrr<�sz+_init_node_converters.<locals>.convert_nodecSs\t|t�rFi}xH|j�D](\}}t|t�r4dj|�}t|�||<qWntdd�|D��}|S)N� css|]\}}|t|�fVqdS)N)�unescape)�.0�k�vrrr�	<genexpr>�sz;_init_node_converters.<locals>.map_attrs.<locals>.<genexpr>)r.�dict�items�list�joinrM)Zbs_attrs�attribsrOrPrrr�	map_attrs�s


z(_init_node_converters.<locals>.map_attrscSs:t|�dkr|jpd||_n|djp*d||d_dS)Nr�rr,r,)r�text�tail)rKrYrrr�append_text�sz*_init_node_converters.<locals>.append_textcs�|j}|dk	r2|r�|�nd}tj||j|d�}n|r>�|�ni}�|j|d�}xP|D]H}y�t|�}Wntk
r~YnX|dk	rV|||�qV�||�qVW|S)N)Zattrib)r$rZ
SubElementr#rHrI)rJrKr$rV�resrr@)r<rBrrWrr�convert_tag�s 

z*_init_node_converters.<locals>.convert_tagcSs tj|�}|dk	r|j|�|S)N)rZHtmlCommentr?)rJrKr\rrr�convert_comments

z._init_node_converters.<locals>.convert_commentcSs>|jd�r|dd�}tj|jdd��}|dk	r:|j|�|S)N�?rrLr,)�endswithrr
�splitr?)rJrKr\rrr�
convert_pis

z)_init_node_converters.<locals>.convert_pics|dk	r�|t|��dS)N)rM)rJrK)r[rr�convert_textsz+_init_node_converters.<locals>.convert_text)N)rr"r	r
r)rrFr]r^rbrcr)r[r<rBrGrrWrCrr2�s
r2)�name2codepointz&(\w+);cCs|sdSdd�}t||�S)NrXcSs2ytt|jd��Stk
r,|jd�SXdS)Nrr)�unichrrd�grouprI)�mrrr�unescape_entity5sz!unescape.<locals>.unescape_entity)�handle_entities)r5rhrrrrM1srM)NN)NN)N)$�__doc__�__all__�reZlxmlrrZbs4rrr	r
rrr
r0�ImportErrorrrrr�compile�
IGNORECASEr>r6r"rr2Z
html.entitiesrdZhtmlentitydefs�subrire�	NameError�chrrMrrrr�<module>s:
$ 




Uc


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists