AlkantarClanX12

Your IP : 3.142.198.51


Current Path : /opt/alt/python37/lib64/python3.7/site-packages/lxml/html/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/site-packages/lxml/html/__pycache__/soupparser.cpython-37.pyc

B

�'�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
�Ze�dej�jZGdd�d�Zdd�Zdd�ZyddlmZWn"ek
�rddlmZYnXe�d�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�G/opt/alt/python37/lib64/python3.7/site-packages/lxml/html/soupparser.pyrscKs,t|d�st|�}t|||f|�}t�|�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||�}|��}x|D]}|�|�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_treerr�children�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_FEATURES�featureszhtml.parser�r)rrr�len�tag)�sourcerrr�treerrrrrEs


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
|j��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�|j��dkr�|}q*|dkr*t|t�r*|}q*W|dkr�g}}	|j	}
n2|j	d|�}|j	||d�}
|j	|dd�}	|dk	�r|
�
|�}|
d|�|j	|
|dd�|_	nt|
�}t|�}||�}|}
x2t
|�D]&}||�}|dk	�r2|
�|�|}
�q2W|}
x.|	D]&}||�}|dk	�rf|
�|�|}
�qfW|dk	�ry|��}Wntk
�r�|j}YnXt|�}|�s�n>|��\}}|��j}|�o�|dd�|_|�o|dd�|_|S)Nrr ���)rZhtml_parserr�	enumerate�
isinstancerr&�lower�_DECLARATION_OR_DOCTYPEr(�indexr%�_init_node_converters�reversedZaddpreviousZaddnextZoutput_ready�AttributeError�string�_parse_doctype_declaration�groupsZgetroottree�docinfo�	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_urir;rrrrisd


&








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]}|�|<��|�qW|S)N)�append)�handler�t)�
converters�ordered_node_types�typesrr�add�s
z5_init_node_converters.<locals>.converter.<locals>.addr)rHrI)rFrG)rHr�	converter�sz(_init_node_converters.<locals>.convertercs$x�D]}t||�r�|SqWdS)N)r1)�noderE)rFrGrr�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�parentrD)rFrLrrr@�sz+_init_node_converters.<locals>.convert_nodecSs\t|t�rFi}xH|��D](\}}t|t�r4d�|�}t|�||<qWntdd�|D��}|S)N� css|]\}}|t|�fVqdS)N)�unescape)�.0�k�vrrr�	<genexpr>�sz;_init_node_converters.<locals>.map_attrs.<locals>.<genexpr>)r1�dict�items�list�joinrR)Zbs_attrs�attribsrTrUrrr�	map_attrs�s


z(_init_node_converters.<locals>.map_attrscSs:t|�dkr|jpd||_n|djp*d||d_dS)Nr�r/)r!�text�tail)rPr^rrr�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&rMrN)rOrPr'r[�resrrD)r@rFrr\rr�convert_tag�s 

z*_init_node_converters.<locals>.convert_tagcSs t�|�}|dk	r|�|�|S)N)rZHtmlCommentrC)rOrPrarrr�convert_comments

z._init_node_converters.<locals>.convert_commentcSs>|�d�r|dd�}tj|�dd��}|dk	r:|�|�|S)N�?r/rQr )�endswithrr
�splitrC)rOrPrarrr�
convert_pis

z)_init_node_converters.<locals>.convert_pics|dk	r�|t|��dS)N)rR)rOrP)r`rr�convert_textsz+_init_node_converters.<locals>.convert_text)N)rr%r	r
r)rrJrbrcrgrhr)r`r@rFrLrr\rGrr5�s
r5)�name2codepointz&(\w+);cCs|sdSdd�}t||�S)Nr]cSs2ytt|�d��Stk
r,|�d�SXdS)Nr r)�unichrri�grouprN)�mrrr�unescape_entity5sz!unescape.<locals>.unescape_entity)�handle_entities)r8rmrrrrR1srR)NN)NN)N)$�__doc__�__all__�re�lxmlrrZbs4rrr	r
rrr
r3�ImportErrorrrrr�compile�
IGNORECASErBr9r%rr5Z
html.entitiesriZhtmlentitydefs�subrnrj�	NameError�chrrRrrrr�<module>s:
$ 




Uc